From 91d7961b0b4619c5dcb19779f9b3735f982775c4 Mon Sep 17 00:00:00 2001 From: terrymanu Date: Thu, 16 Nov 2017 14:20:58 +0800 Subject: [PATCH] fix #436 --- RELEASE-NOTES.md | 4 ++++ .../core/jdbc/core/connection/MasterSlaveConnection.java | 3 +++ 2 files changed, 7 insertions(+) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index ceafe83b91134..ac73e3b21f7a8 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,5 +1,9 @@ ## 2.0.0.M3 +### 缺陷修正 + +1. [ISSUE #436](https://github.com/shardingjdbc/sharding-jdbc/issues/436) 读写分离多从库配置RoundRobin算法并使用MyBatis时,只能路由到同一从库 + ## 2.0.0.M2 ### 里程碑 diff --git a/sharding-jdbc-core/src/main/java/io/shardingjdbc/core/jdbc/core/connection/MasterSlaveConnection.java b/sharding-jdbc-core/src/main/java/io/shardingjdbc/core/jdbc/core/connection/MasterSlaveConnection.java index ddea7aa13fd4a..44e4e1d013d2f 100644 --- a/sharding-jdbc-core/src/main/java/io/shardingjdbc/core/jdbc/core/connection/MasterSlaveConnection.java +++ b/sharding-jdbc-core/src/main/java/io/shardingjdbc/core/jdbc/core/connection/MasterSlaveConnection.java @@ -77,6 +77,9 @@ public Collection getConnections(final SQLType sqlType) throws SQLEx @Override public DatabaseMetaData getMetaData() throws SQLException { + if (!getCachedConnections().isEmpty()) { + return getCachedConnections().values().iterator().next().getMetaData(); + } return getConnections(null == cachedSQLType ? SQLType.DML : cachedSQLType).iterator().next().getMetaData(); }