我需要在两台不同的机器(即不同的IP)上为数据库配置JBOSS for MySQL集群。
需要使用 -
进行db的主动 - 主动配置两个数据库同时更新
负载均衡
故障转移处理 - 在第一个数据库失败的情况下切换到另一个数据库
如何配置mysql-ds.xml文件来实现所有这些?它会单独解决我的问题还是需要进行任何其他配置更改?
到目前为止,我已经尝试了以下但没有取得多大成功 -
代码示例1 -
<local-tx-datasource>
<jndi-name>/abc</jndi-name>
<connection-url>jdbc:mysql:loadbalance://ip1:portno1,ip2:portno2/dbname?loadBalanceBlacklistTimeout=5000</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>def</user-name>
<password>defpassword</password>
<exception-sorter-class-name>path to exception sorter class</exception-sorter-class-name>
</local-tx-datasource>
代码示例2 -
<local-tx-datasource>
<jndi-name>/abc</jndi-name>
<connection-url>jdbc:mysql:loadbalance://ip1:portno1,ip2:portno2/dbname?loadBalanceBlacklistTimeout=5000</connection-url>
<url-delimiter>|</url-delimiter>
<autoReconnect>true</autoReconnect>
<failOverReadOnly>false</failOverReadOnly>
<maxReconnects>0</maxReconnects>
<initialTimeout>15</initialTimeout>
<idle-timeout-minutes>0</idle-timeout-minutes>
<connection-property name="readOnly">false</connection-property>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>def</user-name>
<password>defpassword</password>
<exception-sorter-class-name>path to exception sorter class</exception-sorter-class-name>
</local-tx-datasource>
还需要什么?
由于
答案 0 :(得分:1)
您只能通过使用mysql-ds.xml数据源文件配置来实现此目的。你需要做的是跟随。
注意:您必须使用mysql-connector-java-5.1.13-bin.jar及更高版本才能使用数据库驱动程序。早期版本有一些错误(http://bugs.mysql.com/bug.php?id=31053)会给你带来很多问题,所以要避免它们。 我正在为mysql-ds.xml文件提供一个片段。
<local-tx-datasource>
<jndi-name>DATA_SOURCE_NAME</jndi-name>
<connection-url>jdbc:mysql:loadbalance://IP1:port1,IP2:port2</connection-url>
<user-name>username</user-name>
<password>password</password>
<driver-class>org.gjt.mm.mysql.Driver</driver-class>
<check-valid-connection-sql>select count(*) from your_table_name</check-valid-connection-sql>
</local-tx-datasource>