我们计划从 Jboss 5 迁移到 Wildfly 8.2。在数据库方面,我们有一个带有 MariaDB 10 的三节点 Galera 集群。
在 Jboss 5 上,我们在 ds.xml 文件中有以下设置:
...
<connection-url>jdbc:mysql:loadbalance://ip-node1,ip-node2,ip-node3/DBname</connection-url>
...
在 Jboss 5 上一切正常。但在 Wildfly 8.2 上我无法达到同样的效果。从管理控制台,我能够毫无问题地添加一个非集群数据源并且它可以工作。示例网址:jdbc:mysql://ip-node1/DBname
但是当我尝试像上面那样添加集群 URL 时,我收到以下错误:
Unexpected HTTP response: 500
Request
{
"address" => [
("subsystem" => "datasources"),
("xa-data-source" => "dsName")
],
"operation" => "test-connection-in-pool"
}
Response
Internal Server Error
{
"outcome" => "failed",
"failure-description" => "JBAS010440: failed to invoke operation: JBAS010447: Connection is not valid",
"rolled-back" => true
}
如何将 Wildfly 连接到集群数据源?我知道可以插入像 HAProxy 这样的外部负载均衡器,但我更愿意让架构尽可能简单。