exist-db restxq 触发器:服务已删除但仍处于活动状态



我对 exist-db 中的 RESTXQ 实现有问题。我认为可能是 RestXQTrigger 无法正常工作。

问题:我(通过仪表板(删除了几个.xqm文件中包含 RESTXQ 服务的集合。但是,这些服务并非未注册,即使在重新启动 eXist 后仍然可用。

有没有办法强制这个取消注册字符串,我的意思是除了重新创建以前的集合/文件并逐个删除每个.xqm文件(这样,触发器似乎有效(?

目前 eXist 中的 RESTXQ 仅实现文档触发器事件,而不实现集合触发器事件。这只是一个限制,需要在有时间实现时解决。

在命名空间中有一个 eXist 提供的 XQuery 模块:http://exquery.org/ns/restxq/exist 。此模块中的函数使您能够手动操作 RESTXQ 注册表。您可以在 $EXIST_HOME/conf.xml 中启用它。如果随后重新启动 eXist 并重新生成函数文档,您应该能够在函数浏览器应用中查看这些函数的文档。特别是,您最有可能需要以下功能:

exrest:deregister-module(xs:anyURI("/db/my-module.xqm"))exrest:register-module(xs:anyURI("/db/my-module.xqm")) .

还有一些函数用于从模块中注册和取消注册单个函数,这些函数称为register-resource-functionderegister-resource-function它们与上面类似,但采用第二个参数,即 qname#arity 形式的函数签名(作为 xs:string(,例如 "fn:substring#2"

您可以停止数据库,并手动删除注册表文件$EXIST_HOME/webapp/WEBINF/data/restxq.registry

相关内容

最新更新