2011-04-29 9 views
1

MyBatis와 함께 Master/Slave MySQL 복제 데이터베이스를 어떻게 사용할 수 있는지 궁금합니다. JDBC가 제공하는 com.mysql.jdbc.ReplicationDriver (here 참조) 내가 구성 할 수있는 모든 좋은 특성을 포함하여 비슷한 일을 사용할 수있는,하지만 난 밖으로 찾을 수 없습니다 (roundRobinLoadBalance, autoReconnect, ...) MyBatis로한다. MyBatis와 함께 MySQL 복제 (마스터/슬레이브) 사용

현재 나는이 같은 MyBatis로 내 없음 - 복제 된 데이터베이스를 구성한 :

<environments default="development"> 
    <environment id="development"> 
     <transactionManager type="JDBC" /> 
     <dataSource type="POOLED"> 
      <property name="driver" value="com.mysql.jdbc.Driver" /> 
      <property name="url" 
       value="jdbc:mysql://localhost:3306/database" /> 
      <property name="username" value="root" /> 
      <property name="password" value="" /> 
     </dataSource> 
    </environment> 
    <environment id="production"> 
     <transactionManager type="JDBC" /> 
     <dataSource type="POOLED"> 
      <property name="driver" value="com.mysql.jdbc.Driver" /> 
      <property name="url" 
       value="jdbc:mysql://xxx:3306/database" /> 
      <property name="username" value="production" /> 
      <property name="password" value="" /> 
     </dataSource> 
    </environment> 
</environments> 

이 사람 저에 대한 힌트를 했습니까?

도움 주셔서 감사합니다.

다니엘

+0

''에서'ReplicationDriver '를 사용해 보셨습니까? –

답변

1

또 다른 가능한 답변

당신이 통지하는 경우

, 당신은 드라이버의 XML로 설정하는 속성은 공통 속성을 설정하고 JDBC로 전달됩니다. 그래서, MyBatis가 그들을 데려가 운전 기사에게 바로 넘겨 주었다면 놀라지 않을 것입니다. 그래서 이것을 시도해보십시오 :

<environments default="development"> 
    <environment id="development"> 
     <transactionManager type="JDBC" /> 
     <dataSource type="POOLED"> 
      <!-- Just use ReplicationDriver --> 
      <property name="driver" value="com.mysql.jdbc.ReplicationDriver" /> 
      <property name="url" 
       value="jdbc:mysql://localhost:3306/database" /> 
      <property name="autoReconnect" value="true" /> 
      <property name="roundRobinLoadBalance" value="true" /> 
      <property name="username" value="root" /> 
      <property name="password" value="" /> 
     </dataSource> 
    </environment> 
    <environment id="production"> 
     <transactionManager type="JDBC" /> 
     <dataSource type="POOLED"> 
      <!-- Just use ReplicationDriver --> 
      <property name="driver" value="com.mysql.jdbc.ReplicationDriver" /> 
      <property name="url" 
       value="jdbc:mysql://xxx:3306/database" /> 
      <property name="autoReconnect" value="true" /> 
      <property name="roundRobinLoadBalance" value="true" /> 
      <property name="username" value="production" /> 
      <property name="password" value="" /> 
     </dataSource> 
    </environment> 
</environments> 
+0

시도해보십시오. 감사. – High6

+0

마찬가지로 URL도 올바른 복제 URL을 선택하여 작동했습니다. 예 : 'jdbc : mysql : replication : // master, slave1, slave2/database' – High6

+0

굉장합니다. 나는 그것이 효과가있어 기쁘다. 그게 당신이 사용한 특정 URL입니까? 그럴 경우 내 대답을 편집 할 것입니다. – Dave