我正在尝试将Orbeon Forms连接到外部存在的数据库。所以我添加了参数
<property as="xs:anyURI"
name="oxf.fr.persistence.service.exist.uri"
value="http://orbeon:secret@localhost:8080/exist/rest/db/orbeon/fr"/>
到 properties-local.xml ,这里写的是http://wiki.orbeon.com/forms/doc/developer-guide/exist-configuration#TOC-Configuring-Form-Runner,但这不起作用,或者仍在尝试连接到嵌入式存在的数据库,并说数据库已被某些人锁定另一个数据库实例(它是外部存在的实例)。我试图更改web.xml以关闭所有嵌入的存在的servlet,但仍然没有结果。
我做错了什么?
可能有其他配置需要更改吗?
谢谢,任何回复。
答案 0 :(得分:1)
使用3.8,Orbeon Forms使用eXist存储一些内部XForms状态(除了作为默认的Form Runner持久性)。此后,eXist的使用已在3.9及更高版本中删除。这可能解释了为什么Orbeon Forms仍然试图连接到您的本地eXist数据库。
使用3.8时,以下属性配置对eXist for XForms状态处理的访问:
<property as="xs:string" name="oxf.xforms.store.application.username" value="guest"/>
<property as="xs:string" name="oxf.xforms.store.application.password" value="guest"/>
<property as="xs:anyURI" name="oxf.xforms.store.application.uri" value="xmldb:exist:///"/>
<property as="xs:string" name="oxf.xforms.store.application.collection" value="/db/orbeon/xforms/cache/"/
通过更新它们,您应该能够指向外部eXist并完全删除内部eXist的使用。
答案 1 :(得分:0)
感谢您的所有回复。
问题是我为外部存在配置了相同的目录存储,就像嵌入的存储一样。所以当orbeon启动时,嵌入式DB没有机会连接到已经占用的文件。
所以在我在orbeon / WEB-INF中重新配置 exist-conf.xml 后,或者设法启动并连接到外部数据库。