mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
ha-datasource
This commit is contained in:
@@ -71,11 +71,10 @@ public class HADataSource extends MultiDataSource implements DataSource {
|
||||
}
|
||||
|
||||
public void close() {
|
||||
super.close();
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("HADataSource closed");
|
||||
}
|
||||
|
||||
JdbcUtils.close(master);
|
||||
}
|
||||
|
||||
private class DataSourceList extends AbstractList<DruidDataSource> implements RandomAccess, java.io.Serializable {
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.alibaba.druid.pool.DataSourceAdapter;
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import com.alibaba.druid.pool.ha.valid.DefaultValidDataSourceChecker;
|
||||
import com.alibaba.druid.pool.ha.valid.ValidDataSourceChecker;
|
||||
import com.alibaba.druid.util.JdbcUtils;
|
||||
|
||||
public abstract class MultiDataSource extends DataSourceAdapter {
|
||||
|
||||
@@ -55,6 +56,15 @@ public abstract class MultiDataSource extends DataSourceAdapter {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
protected void close() {
|
||||
scheduler.shutdownNow();
|
||||
|
||||
Object[] items = this.getDataSources().toArray();
|
||||
for (Object item : items) {
|
||||
JdbcUtils.close((DruidDataSource) item);
|
||||
}
|
||||
}
|
||||
|
||||
protected ScheduledExecutorService getScheduler() {
|
||||
return scheduler;
|
||||
|
||||
Reference in New Issue
Block a user