本文介绍了Jboss 数据源中的数据库故障转移的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在 JBoss 数据源中,如何为我想要的数据库故障转移提供多个连接字符串.
In JBoss data source how can I give multiple connection strings for database fail over in which I want .
将有两个 Mysql db 具有相同的表,例如 DB1 和 DB2.我想向DB1插入数据,如果DB1宕机了,那么我需要将它插入到DB2中.在插入 DB2 期间,如果 DB1 出现,我需要将其余数据插入 DB1.我如何在我的 JBoss 中配置它?
There will be two Mysql db with same tables say DB1 and DB2. I want to insert data to DB1, if DB1 is down, then I need to insert it into DB2. During inserting into DB2 if the DB1 comes up I need to insert rest of the data into DB1. How can I configure this in my JBoss?
推荐答案 <?xml version="2.0" encoding="UTF-8"?> <!-- $Id$ --> <!-- Datasource config for MySQL using 3.0.9 available from: www.mysql/downloads/api-jdbc-stable.html --> <datasources> <local-tx-datasource> <jndi-name>MySqlDSTest</jndi-name> <use-java-context>true</use-java-context> <connection-url>jdbc:mysql:loadbalance://ip1,ip2:3306/dbname?</connection-url> <url-delimiter>,</url-delimiter> <driver-class>com.mysql.jdbc.Driver</driver-class> <connection-property name="readOnly">false</connection-property> <autoReconnect>true</autoReconnect> <failOverReadOnly>false</failOverReadOnly> <user-name>userName</user-name> <password>password</password> <check-valid-connection-sql>selcect count(*) from TEST_TAB</check-valid-connection-sql> <maxReconnects>0</maxReconnects> <initialTimeout>15</initialTimeout> <idle-timeout-minutes>0</idle-timeout-minutes> <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name> <!-- Advanced options for the MySQL Driver can be set with <connection-property name="property">value</connection-property> --> <min-pool-size>5</min-pool-size> <!-- Don't set this any higher than max_connections on your MySQL server, usually this should be a 10 or a few 10's of connections, not hundreds or thousands --> <max-pool-size>20</max-pool-size> <!-- Don't allow connections to hang out idle too long, never longer than what wait_timeout is set to on the server...A few minutes is usually okay here, it depends on your application and how much spikey load it will see --> <!-- If you're using Connector/J 3.1.8 or newer, you can use our implementation of these to increase the robustness "mysql-ds.xml" 64L, 3683C of the connection pool. --> <exception-sorter-class-name> com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter </exception-sorter-class-name> <valid-connection-checker-class-name> com.mysql.jdbc.integration.jboss.MysqlValidConnectionChecker </valid-connection-checker-class-name> <!-- sql to call when connection is created --> <new-connection-sql>select 1</new-connection-sql> <!-- sql to call on an existing pooled connection when it is obtained from pool - MySQLValidConnectionChecker is preferred for newer drivers --> <check-valid-connection-sql> select 1 </check-valid-connection-sql> <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml --> <metadata> <type-mapping>mySQL</type-mapping> </metadata> </local-tx-datasource> </datasources>这适用于 jboss 映射
This will work for jboss mapping
更多推荐
Jboss 数据源中的数据库故障转移
发布评论