Filter-Chain refactor

This commit is contained in:
wenshao
2012-08-16 08:24:14 +08:00
parent fec5b30f77
commit fd4c1eff90
17 changed files with 170 additions and 446 deletions
@@ -3,13 +3,12 @@ package com.alibaba.druid.bvt.pool;
import java.sql.Connection;
import java.util.Properties;
import javax.security.auth.callback.PasswordCallback;
import junit.framework.Assert;
import junit.framework.TestCase;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.stat.DruidDataSourceStatManager;
import com.alibaba.druid.util.DruidPasswordCallback;
public class PasswordCallbackTest extends TestCase {
@@ -37,11 +36,10 @@ public class PasswordCallbackTest extends TestCase {
dataSource.close();
}
public static class TestPasswordCallback extends PasswordCallback {
public static class TestPasswordCallback extends DruidPasswordCallback {
private static final long serialVersionUID = 1L;
private String url;
private Properties properties;
public TestPasswordCallback(){
@@ -52,14 +50,6 @@ public class PasswordCallbackTest extends TestCase {
super(prompt, echoOn);
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public Properties getProperties() {
return properties;
}
@@ -32,6 +32,7 @@ import com.alibaba.druid.proxy.jdbc.ConnectionProxy;
import com.alibaba.druid.proxy.jdbc.DataSourceProxyConfig;
import com.alibaba.druid.proxy.jdbc.DataSourceProxyImpl;
import com.alibaba.druid.proxy.jdbc.ResultSetProxy;
import com.alibaba.druid.stat.JdbcDataSourceStat;
public class CounterFilterTest extends TestCase {
@@ -41,16 +42,19 @@ public class CounterFilterTest extends TestCase {
DataSourceProxyConfig config = new DataSourceProxyConfig();
config.setUrl("");
DataSourceProxyImpl dataSource = new DataSourceProxyImpl(null, config);
JdbcDataSourceStat dataSourceStat = dataSource.getDataSourceStat();
StatFilter filter = new StatFilter();
filter.init(new DataSourceProxyImpl(null, config));
filter.init(dataSource);
filter.reset();
dataSourceStat.reset();
Assert.assertNull(StatFilter.getStatFilter(new DataSourceProxyImpl(null, config)));
Assert.assertNull(filter.getSqlStat(Integer.MAX_VALUE));
Assert.assertNull(filter.getConnectionConnectLastTime());
Assert.assertNull(StatFilter.getStatFilter(dataSource));
Assert.assertNull(dataSourceStat.getSqlStat(Integer.MAX_VALUE));
Assert.assertNull(dataSourceStat.getConnectionStat().getConnectLastTime());
FilterChain chain = new FilterChainImpl(new DataSourceProxyImpl(null, config)) {
FilterChain chain = new FilterChainImpl(dataSource) {
public ConnectionProxy connection_connect(Properties info) throws SQLException {
throw new SQLException();
@@ -64,8 +68,8 @@ public class CounterFilterTest extends TestCase {
error = ex;
}
Assert.assertNotNull(error);
Assert.assertEquals(1, filter.getConnectionConnectErrorCount());
Assert.assertNotNull(filter.getConnectionConnectLastTime());
Assert.assertEquals(1, dataSourceStat.getConnectionStat().getConnectErrorCount());
Assert.assertNotNull(dataSourceStat.getConnectionStat().getConnectLastTime());
}
public void test_count_filter() throws Exception {
@@ -32,7 +32,7 @@ public class StatFilterConcurrentTest extends TestCase {
public void test_stat() throws Exception {
concurrent(100);
for (JdbcSqlStat sqlStat : statFilter.getDataSourceStat().getSqlStatMap().values()) {
for (JdbcSqlStat sqlStat : dataSource.getDataSourceStat().getSqlStatMap().values()) {
System.out.println(sqlStat.getConcurrentMax());
}
}