【发布时间】:2017-05-05 12:02:08
【问题描述】:
类似于How to setup MariaDB JNDI on Wildfly 10?,但专门通过 Web UI 完成。
我可以毫无问题地创建非 XA 数据源,但我在创建 XA 版本时遇到问题。
我使用 WildFly 部署 UI 完成了 mariadb-client.jar 的部署,没有任何问题。我可以验证非 XA 数据源是否运行良好。
但是,当我对 XA 驱动程序执行相同的方法时,在测试连接时,我在日志中收到以下错误(在错误对话框中不可见
原因:javax.resource.ResourceException:IJ031101:XADataSourceClass 未定义 在 org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.getXADataSource(XAManagedConnectionFactory.java:621))
当我尝试手动配置驱动程序配置时,我只是得到未知错误,甚至没有创建数据源
"failure-description" => {"WFLYCTL0062: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-1" => {
"WFLYCTL0412: Required services that are not installed:" => ["jboss.jdbc-driver.MariaDBXA"],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"org.wildfly.data-source.PacXA is missing [jboss.jdbc-driver.MariaDBXA]",
"jboss.driver-demander.java:/PacXA is missing [jboss.jdbc-driver.MariaDBXA]"
]
我正在使用的驱动程序类如 https://issues.jboss.org/browse/JBEAP-2405 中所述,我将其放在接受它们的屏幕中。
- 驱动类:org.mariadb.jdbc.Driver
- xa-datasource-class:org.mariadb.jdbc.MariaDbDataSource(不是 org.mariadb.jdbc.MySQLDataSource)
此外,当从 JAR 中选择与在屏幕上输入配置时查看 XML 时,xa-datasource-class 上没有填充任何内容。我知道我可以编辑 XML,但就像我说的那样,我想通过管理控制台来编辑。
【问题讨论】:
-
请详细说明为什么需要 XA。
-
XA 确保多种资源类型将作为单个事务工作,例如JMS + JDBC 那是最简单的例子。您也可以让 J2C 连接到参与事务的大型机。