簡體   English   中英

exist-db restxq觸發器:服務已刪除但仍處於活動狀態

[英]exist-db restxq trigger : Services deleted but still active

我在exist-db中使用RESTXQ實現時遇到問題。 我認為可能是RestXQTrigger無法正常工作。

問題:我(通過儀表板)刪除了一個集合,該集合包括幾個.xqm文件中的RESTXQ服務。 但是,即使重新啟動eXist,服務也不會取消注冊並仍然可用。

有什么方法可以強制取消注冊,我的意思是除了重新創建以前的集合/文件並.xqm刪除每個.xqm文件(這樣,觸發器似乎可以工作)?

目前,eXist中的RESTXQ僅實現文檔觸發事件,而不實現集合觸發事件。 這只是一個限制,在有時間實施時需要解決。

eXist在名稱空間中提供了一個XQuery模塊: http://exquery.org/ns/restxq/exist : 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它們與上面類似,但帶有第二個參數,它是一個函數簽名(如xs:string)以qname#arity的形式表示,例如"fn:substring#2"

您可以停止數據庫,然后手動刪除注冊表文件$EXIST_HOME/webapp/WEBINF/data/restxq.registry

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM