Jboss 5 から Wildfly 8.2 に移行する予定です。データベース側には、MariaDB 10 を備えた 3 ノードの Galera クラスターがあります。
Jboss 5 では、ds.xml ファイルに次の設定がありました。
...
<connection-url>jdbc:mysql:loadbalance://ip-node1,ip-node2,ip-node3/DBname</connection-url>
...
Jboss 5 ではすべてがうまく機能しましたが、Wildfly 8.2 では同じことを達成できません。管理コンソールから、クラスター化されていないデータソースを問題なく追加でき、機能しました。URL の例: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 のような外部ロード バランサーをプラグインできることはわかっていますが、アーキテクチャをできるだけシンプルに保ちたいと考えています。