diff --git a/src/main/java/com/alibaba/druid/pool/ha/HAConnection.java b/src/main/java/com/alibaba/druid/pool/ha/HAConnection.java index c9e33ea3e2..5c8cb2dbdb 100644 --- a/src/main/java/com/alibaba/druid/pool/ha/HAConnection.java +++ b/src/main/java/com/alibaba/druid/pool/ha/HAConnection.java @@ -54,7 +54,7 @@ public class HAConnection extends WrapperAdapter implements Connection, Connecti public void checkConnection(String sql) throws SQLException { if (conn == null) { - conn = haDataSource.getConnectionInternal(id); + conn = haDataSource.getConnectionInternal(id, sql); } if (autoCommit != null) { diff --git a/src/main/java/com/alibaba/druid/pool/ha/HADataSource.java b/src/main/java/com/alibaba/druid/pool/ha/HADataSource.java index c52d9cd663..626d4ce0d0 100644 --- a/src/main/java/com/alibaba/druid/pool/ha/HADataSource.java +++ b/src/main/java/com/alibaba/druid/pool/ha/HADataSource.java @@ -36,7 +36,7 @@ public class HADataSource extends MultiDataSource implements DataSource { return statementIdSeed.getAndIncrement(); } - public Connection getConnectionInternal(int requestNumber) throws SQLException { + public Connection getConnectionInternal(int connectionId, String sql) throws SQLException { int tryCount = 0; for (;;) { @@ -46,7 +46,7 @@ public class HADataSource extends MultiDataSource implements DataSource { throw new SQLException("can not get connection, no availabe datasources"); } - int index = requestNumber % size; + int index = connectionId % size; DruidDataSource dataSource = null;