有没有办法从我的 java 应用程序中调用 xqy 或 sjs,就像我可以在 oracle DB 中调用存储过程一样?
我对 xqy 或 sjs 的另一个问题是如何调试它们?
提前致谢。
有没有办法从我的 java 应用程序中调用 xqy 或 sjs,就像我可以在 oracle DB 中调用存储过程一样?
我对 xqy 或 sjs 的另一个问题是如何调试它们?
提前致谢。
是的,有多种方法可以从 Java 调用 MarkLogic 中的 JavaScript 和 XQuery 模块。
取决于 MarkLogic 应用程序服务器的类型,它是 HTTP 还是 XDBC,是否安装了模块,或者您是否正在发送要评估的代码,以及您是更喜欢使用 MarkLogic Java API 还是进行自己的 HTTP 调用。
您可以使用MarkLogic Java 客户端 API来调用资源服务扩展或使用ServerEvaluationCall评估您自己的 JavaScript 或 XQuery :
String javascript = "'hello world'";
String response = client.newServerEval()
.javascript(javascript)
.evalAs(String.class);
assertEquals("hello world", response);
DataServices可用于公开功能并构建 Java 客户端存根来调用它们。
使用 XCC,您可以使用ModuleInvoke()或ModuleSpawn调用已安装的模块,或使用AdhocQuery评估 JavaScript 或 XQuery
您还可以自己调用 REST /v1/eval或/v1/invoke端点。
至于调试,您可以使用Visual Studio 代码连接到启用调试的应用服务器设置断点并逐步执行 JavaScript 和 XQuery 模块。