我在exists-db中遇到RESTXQ实现的问题。 我认为可能是RestXQTrigger无法正常工作。
问题:我在几个.xqm
文件中删除了(通过仪表板)包含RESTXQ服务的集合。但是,即使重新启动eXist,服务也不会取消注册并仍然可用。
有没有办法强制这个unregistring,我的意思是除了重新创建以前的集合/文件并逐个删除每个.xqm
文件(这样,触发器似乎有效)?
答案 0 :(得分:3)
命名空间中有一个带有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-function
和deregister-resource-function
它们与上面类似,但是采用第二个参数,这是一个函数签名(作为xs :string)以 qname#arity 的形式,例如"fn:substring#2"
答案 1 :(得分:1)
您可以停止数据库,并手动删除注册表文件$EXIST_HOME/webapp/WEBINF/data/restxq.registry