这是一个热变化。您可以在管理 UI 中看到这一点:“最大时间限制”旁边没有星号 (*)。
但是您的代码看起来很有趣,我认为这就是它不起作用的原因。再看一下http://docs.marklogic.com/5.0doc/docapp.xqy#display.xqy?fname=http://pubs/5.0doc/apidoc/admin.xml&category=Admin+Library&function=admin上的示例:save-configuration-without-restart
let $config := admin:get-configuration()
let $spec := admin:forest-set-enabled($config,
xdmp:forest("myForest"), fn:true() )
return
admin:save-configuration-without-restart($spec)
您的代码缺少 admin:save-configuration-without-restart() 的参数,因此它什么也不做。此外,保存新版本的配置至关重要。XQuery 变量通常是不可变的,因此示例使用一个新变量来执行此操作。您也可以回收相同的变量名,但重要的是要了解这是重用而不是突变。
let $config := admin:get-configuration()
let $config := admin:forest-set-enabled($config,
xdmp:forest("myForest"), fn:true() )
return
admin:save-configuration-without-restart($config)
或者这更接近我通常做的,xdmp:set
用于突变。我不会xdmp:set
在大多数应用程序代码中使用,但对于部署而言,引入可变性的好处超过了缺点。
declare variable $CFG := admin:get-configuration() ;
xdmp:set(
$CFG, admin:forest-set-enabled($CFG, xdmp:forest("myForest"), fn:true())
,
admin:save-configuration-without-restart($CFG)
对此进行测试的一种方法是查看管理 UI。如果它没有反映您的更改,无论是否重新启动,那么您的代码有问题。