2013-03-15 1 views
0

데이터베이스가 서로 다른 두 개의 머신 (즉, 서로 다른 IP)에서 MySQL 클러스터링을 위해 JBOSS를 구성해야합니다.MySQL 클러스터링 & JBOSS

  1. 동시에

  2. 평형화

  3. 장애 처리를 업데이트하는 두 DB - -시 다른 dB로 전환 DB의

    능동 - 능동 구성으로 바람직한 제 1 데이터베이스의 실패

이 모든 것을 이루기 위해 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> 

?

감사합니다.

답변

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>