我已经安装了 JBoss 7.1.1、Orbeon Forms 4.3 和 Mysql 5.6。我的目标是将 MySQL 用于 Orbeon。我已经在 JBoss 中成功设置并测试了 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 表中没有添加任何记录。我认为表单定义和数据表将包含与构建和填充表单有关的信息。
我花了很多时间试图让这个工作。谁能指出我所缺少的?