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;