From f47bd5df4c796abf3e9dd629be0c25418c98b916 Mon Sep 17 00:00:00 2001 From: wenshao Date: Mon, 19 Dec 2011 17:47:18 +0800 Subject: [PATCH] ha --- src/main/java/com/alibaba/druid/pool/DruidDataSource.java | 1 + src/main/java/com/alibaba/druid/pool/ha/MultiDataSource.java | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index 114ef333b8..71b8f93406 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -128,6 +128,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat this.close(); this.resetStat(); this.inited = false; + this.enable = true; } finally { lock.unlock(); } diff --git a/src/main/java/com/alibaba/druid/pool/ha/MultiDataSource.java b/src/main/java/com/alibaba/druid/pool/ha/MultiDataSource.java index 2091185ae0..1c917f74f7 100644 --- a/src/main/java/com/alibaba/druid/pool/ha/MultiDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/ha/MultiDataSource.java @@ -129,7 +129,9 @@ public abstract class MultiDataSource extends DataSourceAdapter implements Multi for (DataSourceHolder dataSourceHolder : getDataSources().values()) { boolean isValid = validDataSourceChecker.isValid(dataSourceHolder.getDataSource()); if (!isValid) { - handleNotAwailableDatasource(dataSourceHolder); + dataSourceHolder.setEnable(false); + } else { + dataSourceHolder.setEnable(true); } } } @@ -179,7 +181,6 @@ public abstract class MultiDataSource extends DataSourceAdapter implements Multi public abstract MultiConnectionHolder getConnectionInternal(MultiDataSourceConnection conn, String sql) throws SQLException; public void handleNotAwailableDatasource(DataSourceHolder dataSourceHolder) { - dataSourceHolder.setEnable(false); } public String[] getDataSourceNames() {