This commit is contained in:
wenshao
2011-12-19 13:42:12 +08:00
parent d30a93010a
commit 5cd417ad11
2 changed files with 13 additions and 13 deletions
@@ -1,19 +1,23 @@
package com.alibaba.druid.pool.ha;
import java.io.Closeable;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.concurrent.atomic.AtomicLong;
import com.alibaba.druid.pool.DruidDataSource;
public class DataSourceHolder {
public class DataSourceHolder implements Closeable {
private DruidDataSource dataSource;
private boolean enable;
private final DruidDataSource dataSource;
private boolean enable = true;
private final AtomicLong connectCount = new AtomicLong();
private final AtomicLong connectErrorCount = new AtomicLong();
public DataSourceHolder(DruidDataSource dataSource){
if (dataSource == null) {
throw new IllegalArgumentException("dataSource is null");
}
this.dataSource = dataSource;
}
@@ -33,10 +37,6 @@ public class DataSourceHolder {
return dataSource;
}
public void setDataSource(DruidDataSource dataSource) {
this.dataSource = dataSource;
}
public long getConnectCount() {
return connectCount.get();
}
@@ -46,10 +46,6 @@ public class DataSourceHolder {
}
public String getUrl() {
if (dataSource == null) {
return null;
}
return dataSource.getUrl();
}
@@ -65,4 +61,9 @@ public class DataSourceHolder {
throw ex;
}
}
@Override
public void close() {
dataSource.close();
}
}
@@ -20,7 +20,6 @@ import javax.management.ObjectName;
import com.alibaba.druid.filter.Filter;
import com.alibaba.druid.pool.DataSourceAdapter;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.ha.valid.DataSourceFailureDetecter;
import com.alibaba.druid.pool.ha.valid.DefaultDataSourceFailureDetecter;
import com.alibaba.druid.proxy.jdbc.DataSourceProxy;
@@ -120,7 +119,7 @@ public abstract class MultiDataSource extends DataSourceAdapter implements Multi
Object[] items = this.getDataSources().values().toArray();
for (Object item : items) {
JdbcUtils.close((DruidDataSource) item);
JdbcUtils.close((DataSourceHolder) item);
}
MultiDataSourceStatManager.remove(this);