Frage

Ich frage mich nur, wie ich eine Master/Slave MySQL Replication -Datenbank mit MyBatis verwenden kann. JDBC bietet a com.mysql.jdbc.ReplicationDriver (sehen hier), aber ich konnte nicht herausfinden, wo ich ähnliche Dinge verwenden kann, einschließlich all der schönen Eigenschaften, die ich konfigurieren kann (RoundRobinloadbalance, Autoreconnect, ...) in mybatis.

Derzeit habe ich meine nicht replikierte Datenbank in myBatis wie folgt konfiguriert:

<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>

Hat jemand einen Hinweis auf mich?

Danke für Ihre Hilfe.

Daniel

War es hilfreich?

Lösung

Eine weitere mögliche Antwort

Wenn Sie bemerken, sind die Eigenschaften, die Sie in der XML für den Treiber einstellen, auch gemeinsame Eigenschaften eingestellt und an JDBC übergeben. Ich würde mich also nicht wundern, wenn Mybatis sie nur mitnehmen und sie direkt in den Fahrer weitergeben würde. Also versuchen Sie es vielleicht:

<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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top