MySQL Connector / J ReplicationDriver:连接是只读的。不允许导致数据修改的查询

时间:2013-07-22 05:26:42

标签: java mysql jdbc amazon-web-services mysql-connector

我正在使用MySQL Connector / J ReplicationDriver进行AWS中的主/从连接负载平衡,其中我有一个主服务器和一个主服务器。两个只读从站运行。 我面临的问题是,假设没有写入请求从应用服务器发送到mysql数据库很长一段时间(如2-3小时),新的写入请求将以异常“Connection is read-only。”查询结束。不允许导致数据修改“。

我的context.xml是

<Context allowLinking="true">
    <Resource
        name="jdbc/DB" type="javax.sql.DataSource"
        maxActive="100" maxIdle="30" maxWait="10000" 
        url="jdbc:mysql:replication://master,slave1,slave2/db"
        driverClassName="com.mysql.jdbc.ReplicationDriver"
        username="user" password="pass"
        validationQuery="/* ping */ select 1" removeAbandoned="true"
        removeAbandonedTimeout="300" testOnBorrow="true"
        logAbandoned="true" loadBalanceBlacklistTimeout=60000
    />
</Context>

我也在使用connection.setReadOnly&amp; connection.setAutoCommit恰当地在mysql insert / update&amp;选择陈述。

可能的原因是什么?

0 个答案:

没有答案