我正在使用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;选择陈述。
可能的原因是什么?