From 0614f22b422de4b33c531c74ee378b79965ff78f Mon Sep 17 00:00:00 2001 From: wenshao Date: Sun, 17 Jul 2011 09:20:27 +0000 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81HA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://code.alibabatech.com/svn/druid/trunk@465 b9813039-fb51-4c41-a8b9-e21c2acb5095 --- .../alibaba/druid/pool/ha/HADataSource.java | 12 +++++++++++ .../druid/pool/ha/MultiDataSource.java | 20 ++++++------------- 2 files changed, 18 insertions(+), 14 deletions(-) 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 deea0c8846..dad8dc8feb 100644 --- a/src/main/java/com/alibaba/druid/pool/ha/HADataSource.java +++ b/src/main/java/com/alibaba/druid/pool/ha/HADataSource.java @@ -2,6 +2,8 @@ package com.alibaba.druid.pool.ha; import java.sql.Connection; import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.atomic.AtomicInteger; @@ -18,9 +20,19 @@ public class HADataSource extends MultiDataSource implements DataSource { private final AtomicInteger indexErrorCount = new AtomicInteger(); + protected ArrayList dataSources; protected final List notAvailableDatasources = new CopyOnWriteArrayList(); public HADataSource(){ + dataSources = new ArrayList(); + } + + public List getDataSources() { + return Collections.unmodifiableList(dataSources); + } + + public void setDataSources(List dataSources) { + this.dataSources = new ArrayList(dataSources); } @Override 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 4151c3e919..aeaa06f65f 100644 --- a/src/main/java/com/alibaba/druid/pool/ha/MultiDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/ha/MultiDataSource.java @@ -2,8 +2,6 @@ package com.alibaba.druid.pool.ha; import java.sql.Connection; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.Properties; import java.util.concurrent.atomic.AtomicInteger; @@ -13,13 +11,16 @@ import com.alibaba.druid.pool.DruidDataSource; public abstract class MultiDataSource extends DataSourceAdapter { - protected ArrayList dataSources; private Properties properties = new Properties(); private final AtomicInteger connectionIdSeed = new AtomicInteger(); private final AtomicInteger statementIdSeed = new AtomicInteger(); + public MultiDataSource(){ + + } + public int createConnectionId() { return connectionIdSeed.getAndIncrement(); } @@ -28,18 +29,9 @@ public abstract class MultiDataSource extends DataSourceAdapter { return statementIdSeed.getAndIncrement(); } - public MultiDataSource(){ - dataSources = new ArrayList(); - } + public abstract List getDataSources(); - public List getDataSources() { - return Collections.unmodifiableList(dataSources); - } - - public void setDataSources(List dataSources) { - this.dataSources = new ArrayList(dataSources); - ; - } + public abstract void setDataSources(List dataSources); public Properties getProperties() { return properties;