1

我已经安装了 JBoss 7.1.1、Orbeon Forms 4.3 和 Mysql 5.6。我的目标是将 MySQL 用于 Orbeon。我已经在 J​​Boss 中成功设置并测试了 MySQL 连接,但据我所知,Orbeon 仍然没有使用 MySQL。我按照“Oracle、MySQL 和 DB2 持久层”文档中的概述创建了 MySQL 表,但在创建和填写表单时没有填充数据。然后,我假设它仍在使用 eXist 数据库中的构建。

这是 server.log 的摘录。可以看到 JBoss 连接到 MySQL 数据源

13:53:36,250 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-3) JBAS010400: Bound data source [java:/comp/env/jdbc/mysql]

我通过取消注释 web.xml 中的资源引用来配置 Orbeon

<resource-ref>
    <description>DataSource</description>
    <res-ref-name>jdbc/db</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

并在 jboss-web.xml 中设置资源引用

<resource-ref>
    <res-ref-name>jdbc/db</res-ref-name>
    <jndi-name>java:/comp/env/jdbc/mysql</jndi-name>
</resource-ref>

4.0 的文档引用了我在 WEB-INF/config 中创建的 properties-local.xml 文件,其中包含

<?xml version="1.0" encoding="UTF-8"?>
<property as="xs:string" name="oxf.fr.persistence.provider.*.*.*" value="mysql"/>

我的 orbeon.log 文件始终保持为零字节。创建和填充表单时,我仍然在 server.log 中看到对现有数据库的引用:

database instance 'exist' will have between 1 and 20 brokers
database instance 'exist' will be synchronized every 120,000 ms
database instance 'exist' will wait  120,000 ms during shutdown
database instance 'exist' is enabled for transactions : true

我注意到的另一件有趣的事情是 Orbeon 似乎正在使用我在 WAR 文件中找不到的 properties-prod.xml

[org.orbeon.oxf.webapp.Orbeon$] (MSC service thread 1-1) Using properties file: oxf:/config/properties-prod.xml

我创建的 MySQL 表中没有添加任何记录。我认为表单定义和数据表将包含与构建和填充表单有关的信息。

我花了很多时间试图让这个工作。谁能指出我所缺少的?

4

1 回答 1

1

您的properties-local.xml文件不正确。必须有一个<properties>根元素,<property>元素在它下面。最简单的入门方法是先复制properties-local.xml.template

如需进一步参考,请参阅此处的属性文档。我澄清了属性文件必须具有根元素的事实。

于 2013-09-04T17:06:36.453 回答