0

我们正在使用版本 9.0.6 和 DHF 4.0.0

我的数据中心存储库中有一个自定义 REST 模块,位于 ..\src\main\ml-modules\services\customModule.sjs

当我运行“gradle mlLoadmodules”时,构建成功,但模块(/marklogic.rest.resource/RegsiteredCustomer-Preferences/assets/resource.xqy)未加载到 data-hub-MODULES 或 data-hub-final-MODULES 数据库. 我删除了时间戳属性(rm .tmp/user-modules-deploy-timestamps.properties)并重新运行了 mlLodModules 命令,但仍然是同样的问题。

我打算通过端口 8011(GET http://localhost:8011/v1/resources/customModule)调用这个自定义模块,那么这个模块应该在哪里加载呢?数据中心模块或数据中心最终模块?在 DHF 的早期版本中,我注意到它被加载到 data-hub-MODULES。

此外,感谢您提供有关模块未加载原因的任何提示。

4

1 回答 1

0

看看http://localhost/v1/config/resourceshttp://localhost:8010/v1/config/resources。其中之一或两者都应该显示您的扩展名。如果它没有出现在那里,它就没有被部署。

假设它没有被部署,下一个问题是“为什么不呢?” 最可能的原因是 ml-gradle 认为它不需要部署或验证有错误。

您可以通过运行“gradle mlReloadModules”而不是“gradle mlLoadModules”来排除第一个。该命令将清除相关模块数据库,然后加载所有内容。

当您加载 REST 扩展时,MarkLogic 会验证其语法以及它所依赖的任何库模块的语法。如果有任何验证错误,它们会在您尝试加载时显示。

于 2018-09-29T13:17:50.677 回答