From 8f2168802610174b700e05eea2ebaa4821a08a73 Mon Sep 17 00:00:00 2001 From: wenshao Date: Thu, 14 Jul 2011 10:09:58 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3Spring=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E8=AF=86=E5=88=ABfilters=E7=9A=84=E9=97=AE=E9=A2=98?= 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@438 b9813039-fb51-4c41-a8b9-e21c2acb5095 --- .../alibaba/druid/filter/FilterChainImpl.java | 2 +- .../alibaba/druid/filter/stat/StatFilter.java | 2 +- .../druid/pool/DruidAbstractDataSource.java | 6 +++--- .../alibaba/druid/pool/DruidDataSource.java | 4 ++-- .../druid/proxy/jdbc/DataSourceProxy.java | 2 +- .../druid/proxy/jdbc/DataSourceProxyImpl.java | 4 ++-- .../druid/stat/JdbcDataSourceStat.java | 2 +- .../bvt/pool/DruidDataSourceFilterTest.java | 12 +++++------ .../com/alibaba/druid/bvt/pool/ParamTest.java | 10 +++++----- .../alibaba/druid/bvt/proxy/DriverTest.java | 10 +++++----- .../druid/bvt/proxy/DruidDriverTest.java | 14 ++++++------- .../alibaba/druid/bvt/proxy/WrapImplTest.java | 2 +- .../alibaba/druid/pool/benckmark/Case3.java | 20 +++++++++---------- 13 files changed, 44 insertions(+), 46 deletions(-) diff --git a/src/main/java/com/alibaba/druid/filter/FilterChainImpl.java b/src/main/java/com/alibaba/druid/filter/FilterChainImpl.java index 6592dd5d31..bec02b34c0 100644 --- a/src/main/java/com/alibaba/druid/filter/FilterChainImpl.java +++ b/src/main/java/com/alibaba/druid/filter/FilterChainImpl.java @@ -287,7 +287,7 @@ public class FilterChainImpl implements FilterChain { } public List getFilters() { - return dataSource.getFilters(); + return dataSource.getProxyFilters(); } @Override diff --git a/src/main/java/com/alibaba/druid/filter/stat/StatFilter.java b/src/main/java/com/alibaba/druid/filter/stat/StatFilter.java index b7a6bb4fa6..8406e1a7f7 100644 --- a/src/main/java/com/alibaba/druid/filter/stat/StatFilter.java +++ b/src/main/java/com/alibaba/druid/filter/stat/StatFilter.java @@ -653,7 +653,7 @@ public class StatFilter extends FilterEventAdapter implements StatFilterMBean { } public static StatFilter getStatFilter(DataSourceProxy dataSource) { - for (Filter filter : dataSource.getFilters()) { + for (Filter filter : dataSource.getProxyFilters()) { if (filter instanceof StatFilter) { return (StatFilter) filter; } diff --git a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java index a1b784b087..1670ba0757 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java @@ -679,11 +679,11 @@ public abstract class DruidAbstractDataSource implements DruidAbstractDataSource } @Override - public List getFilters() { + public List getProxyFilters() { return filters; } - public void setFilters(List filters) { + public void setProxyFilters(List filters) { this.filters = filters; } @@ -902,7 +902,7 @@ public abstract class DruidAbstractDataSource implements DruidAbstractDataSource long startNano = System.nanoTime(); try { - if (dataSource.getFilters().size() != 0) { + if (dataSource.getProxyFilters().size() != 0) { conn = new FilterChainImpl(dataSource).connection_connect(info); } else { conn = dataSource.getDriver().connect(url, info); diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index 7964740d8f..2e5775ebe5 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -880,7 +880,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat } public String[] getFilterClasses() { - List filterConfigList = getFilters(); + List filterConfigList = getProxyFilters(); List classes = new ArrayList(); for (Filter filter : filterConfigList) { @@ -893,7 +893,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat public CompositeDataSupport getCompositeData() throws JMException { StatFilter statFilter = null; JdbcDataSourceStat stat = null; - for (Filter filter : this.getFilters()) { + for (Filter filter : this.getProxyFilters()) { if (filter instanceof StatFilter) { statFilter = (StatFilter) filter; } diff --git a/src/main/java/com/alibaba/druid/proxy/jdbc/DataSourceProxy.java b/src/main/java/com/alibaba/druid/proxy/jdbc/DataSourceProxy.java index 2ae364bfd2..26ae6cdcb9 100644 --- a/src/main/java/com/alibaba/druid/proxy/jdbc/DataSourceProxy.java +++ b/src/main/java/com/alibaba/druid/proxy/jdbc/DataSourceProxy.java @@ -35,7 +35,7 @@ public interface DataSourceProxy { String getRawJdbcUrl(); - List getFilters(); + List getProxyFilters(); long createConnectionId(); diff --git a/src/main/java/com/alibaba/druid/proxy/jdbc/DataSourceProxyImpl.java b/src/main/java/com/alibaba/druid/proxy/jdbc/DataSourceProxyImpl.java index 5f7850bcfe..c95bed448c 100644 --- a/src/main/java/com/alibaba/druid/proxy/jdbc/DataSourceProxyImpl.java +++ b/src/main/java/com/alibaba/druid/proxy/jdbc/DataSourceProxyImpl.java @@ -123,7 +123,7 @@ public class DataSourceProxyImpl implements DataSourceProxy, DataSourceProxyImpl return config.getUrl(); } - public List getFilters() { + public List getProxyFilters() { return config.getFilters(); } @@ -183,7 +183,7 @@ public class DataSourceProxyImpl implements DataSourceProxy, DataSourceProxyImpl public CompositeDataSupport getCompositeData() throws JMException { StatFilter statFilter = null; JdbcDataSourceStat stat = null; - for (Filter filter : this.getFilters()) { + for (Filter filter : this.getProxyFilters()) { if (filter instanceof StatFilter) { statFilter = (StatFilter) filter; } diff --git a/src/main/java/com/alibaba/druid/stat/JdbcDataSourceStat.java b/src/main/java/com/alibaba/druid/stat/JdbcDataSourceStat.java index c72c340be3..833c8de21b 100644 --- a/src/main/java/com/alibaba/druid/stat/JdbcDataSourceStat.java +++ b/src/main/java/com/alibaba/druid/stat/JdbcDataSourceStat.java @@ -97,7 +97,7 @@ public class JdbcDataSourceStat implements JdbcDataSourceStatMBean { } public static StatFilter getStatFilter(DataSourceProxy dataSource) { - for (Filter filter : dataSource.getFilters()) { + for (Filter filter : dataSource.getProxyFilters()) { if (filter instanceof StatFilter) { return (StatFilter) filter; } diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceFilterTest.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceFilterTest.java index 8c15c7d904..5063ea470f 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceFilterTest.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceFilterTest.java @@ -13,35 +13,35 @@ public class DruidDataSourceFilterTest extends TestCase { public void test_filter() throws Exception { DruidDataSource dataSource = new DruidDataSource(); - Assert.assertEquals(0, dataSource.getFilters().size()); + Assert.assertEquals(0, dataSource.getProxyFilters().size()); dataSource.setFilters("stat"); - Assert.assertEquals(1, dataSource.getFilters().size()); + Assert.assertEquals(1, dataSource.getProxyFilters().size()); } public void test_filter_2() throws Exception { DruidDataSource dataSource = new DruidDataSource(); - Assert.assertEquals(0, dataSource.getFilters().size()); + Assert.assertEquals(0, dataSource.getProxyFilters().size()); dataSource.setFilters("stat,trace"); - Assert.assertEquals(2, dataSource.getFilters().size()); + Assert.assertEquals(2, dataSource.getProxyFilters().size()); } public void test_filter_3() throws Exception { DruidDataSource dataSource = new DruidDataSource(); dataSource.setUrl("jdbc:mock:"); - Assert.assertEquals(0, dataSource.getFilters().size()); + Assert.assertEquals(0, dataSource.getProxyFilters().size()); dataSource.setFilters("stat"); JdbcStatManager.getInstance().reset(); Assert.assertEquals(0, JdbcStatManager.getInstance().getConnectionstat().getConnectCount()); - Assert.assertEquals(1, dataSource.getFilters().size()); + Assert.assertEquals(1, dataSource.getProxyFilters().size()); for (int i = 0; i < 2; ++i) { Connection conn = dataSource.getConnection(); diff --git a/src/test/java/com/alibaba/druid/bvt/pool/ParamTest.java b/src/test/java/com/alibaba/druid/bvt/pool/ParamTest.java index ba678c8608..4b73a2dfda 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/ParamTest.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/ParamTest.java @@ -14,14 +14,14 @@ public class ParamTest extends TestCase { DruidDataSource dataSource = new DruidDataSource(); dataSource.setUrl("jdbc:mock:"); - Assert.assertEquals(0, dataSource.getFilters().size()); + Assert.assertEquals(0, dataSource.getProxyFilters().size()); dataSource.setFilters("stat"); JdbcStatManager.getInstance().reset(); Assert.assertEquals(0, JdbcStatManager.getInstance().getConnectionstat().getConnectCount()); - Assert.assertEquals(1, dataSource.getFilters().size()); + Assert.assertEquals(1, dataSource.getProxyFilters().size()); for (int i = 0; i < 2; ++i) { Connection conn = dataSource.getConnection(); @@ -55,14 +55,14 @@ public class ParamTest extends TestCase { dataSource.setMinIdle(0); dataSource.setMaxIdle(0); - Assert.assertEquals(0, dataSource.getFilters().size()); + Assert.assertEquals(0, dataSource.getProxyFilters().size()); dataSource.setFilters("stat"); JdbcStatManager.getInstance().reset(); Assert.assertEquals(0, JdbcStatManager.getInstance().getConnectionstat().getConnectCount()); - Assert.assertEquals(1, dataSource.getFilters().size()); + Assert.assertEquals(1, dataSource.getProxyFilters().size()); Exception error = null; try { @@ -82,7 +82,7 @@ public class ParamTest extends TestCase { dataSource.setMaxIdle(10); dataSource.setFilters("stat"); - Assert.assertEquals(1, dataSource.getFilters().size()); + Assert.assertEquals(1, dataSource.getProxyFilters().size()); JdbcStatManager.getInstance().reset(); diff --git a/src/test/java/com/alibaba/druid/bvt/proxy/DriverTest.java b/src/test/java/com/alibaba/druid/bvt/proxy/DriverTest.java index dc9da9bb48..48fd68b1ca 100644 --- a/src/test/java/com/alibaba/druid/bvt/proxy/DriverTest.java +++ b/src/test/java/com/alibaba/druid/bvt/proxy/DriverTest.java @@ -66,28 +66,28 @@ public class DriverTest extends TestCase { Connection connection_1 = DriverManager.getConnection(url_1); ConnectionProxy connection_wrapper_1 = connection_1.unwrap(ConnectionProxy.class); DataSourceProxy dataSource_1 = connection_wrapper_1.getDirectDataSource(); - Assert.assertEquals(1, dataSource_1.getFilters().size()); + Assert.assertEquals(1, dataSource_1.getProxyFilters().size()); { Connection connection_2 = DriverManager.getConnection(url_2); ConnectionProxy connection_wrapper_2 = connection_2.unwrap(ConnectionProxy.class); DataSourceProxy dataSource_2 = connection_wrapper_2.getDirectDataSource(); - Assert.assertEquals(1, dataSource_2.getFilters().size()); + Assert.assertEquals(1, dataSource_2.getProxyFilters().size()); } { Connection connection_3 = DriverManager.getConnection(url_3); ConnectionProxy connection_wrapper_3 = connection_3.unwrap(ConnectionProxy.class); DataSourceProxy dataSource_3 = connection_wrapper_3.getDirectDataSource(); - Assert.assertEquals(1, dataSource_3.getFilters().size()); + Assert.assertEquals(1, dataSource_3.getProxyFilters().size()); } { Connection connection_4 = DriverManager.getConnection(url_4); ConnectionProxy connection_wrapper_4 = connection_4.unwrap(ConnectionProxy.class); DataSourceProxy dataSource_4 = connection_wrapper_4.getDirectDataSource(); - dataSource_4.getFilters().toString(); - Assert.assertEquals(1, dataSource_4.getFilters().size()); + dataSource_4.getProxyFilters().toString(); + Assert.assertEquals(1, dataSource_4.getProxyFilters().size()); } } diff --git a/src/test/java/com/alibaba/druid/bvt/proxy/DruidDriverTest.java b/src/test/java/com/alibaba/druid/bvt/proxy/DruidDriverTest.java index eee86ff215..e43054d177 100644 --- a/src/test/java/com/alibaba/druid/bvt/proxy/DruidDriverTest.java +++ b/src/test/java/com/alibaba/druid/bvt/proxy/DruidDriverTest.java @@ -140,37 +140,37 @@ public class DruidDriverTest extends TestCase { { ConnectionProxyImpl conn = (ConnectionProxyImpl) driver.connect("jdbc:wrap-jdbc:filters=:name=driverWrapperTest:jdbc:derby:memory:driverWrapperTestDB;create=true", new Properties()); - Assert.assertEquals(0, conn.getDirectDataSource().getFilters().size()); + Assert.assertEquals(0, conn.getDirectDataSource().getProxyFilters().size()); conn.close(); } { ConnectionProxyImpl conn = (ConnectionProxyImpl) driver.connect("jdbc:wrap-jdbc:filters=,:name=driverWrapperTest:jdbc:derby:memory:driverWrapperTestDB;create=true", new Properties()); - Assert.assertEquals(0, conn.getDirectDataSource().getFilters().size()); + Assert.assertEquals(0, conn.getDirectDataSource().getProxyFilters().size()); conn.close(); } { ConnectionProxyImpl conn = (ConnectionProxyImpl) driver.connect("jdbc:wrap-jdbc:filters=,:jdbc:derby:memory:driverWrapperTestDB;create=true", new Properties()); - Assert.assertEquals(0, conn.getDirectDataSource().getFilters().size()); + Assert.assertEquals(0, conn.getDirectDataSource().getProxyFilters().size()); conn.close(); } { ConnectionProxyImpl conn = (ConnectionProxyImpl) driver.connect("jdbc:wrap-jdbc:filters=,:name=:jdbc:derby:memory:driverWrapperTestDB;create=true", new Properties()); - Assert.assertEquals(0, conn.getDirectDataSource().getFilters().size()); + Assert.assertEquals(0, conn.getDirectDataSource().getProxyFilters().size()); conn.close(); } { ConnectionProxyImpl conn = (ConnectionProxyImpl) driver.connect("jdbc:wrap-jdbc:driver=:filters=,:name=driverWrapperTest:jdbc:derby:memory:driverWrapperTestDB;create=true", new Properties()); - Assert.assertEquals(0, conn.getDirectDataSource().getFilters().size()); + Assert.assertEquals(0, conn.getDirectDataSource().getProxyFilters().size()); conn.close(); } { ConnectionProxyImpl conn = (ConnectionProxyImpl) driver.connect("jdbc:wrap-jdbc:name=driverWrapperTest:jdbc:derby:memory:driverWrapperTestDB;create=true", new Properties()); - Assert.assertEquals(0, conn.getDirectDataSource().getFilters().size()); + Assert.assertEquals(0, conn.getDirectDataSource().getProxyFilters().size()); conn.close(); } { @@ -178,7 +178,7 @@ public class DruidDriverTest extends TestCase { + PublicJdbcFilterAdapter.class.getName() + ":name=driverWrapperTest:jdbc:derby:memory:driverWrapperTestDB;create=true", new Properties()); - Assert.assertEquals(1, conn.getDirectDataSource().getFilters().size()); + Assert.assertEquals(1, conn.getDirectDataSource().getProxyFilters().size()); conn.close(); } { diff --git a/src/test/java/com/alibaba/druid/bvt/proxy/WrapImplTest.java b/src/test/java/com/alibaba/druid/bvt/proxy/WrapImplTest.java index 3e7523b525..08549c8140 100644 --- a/src/test/java/com/alibaba/druid/bvt/proxy/WrapImplTest.java +++ b/src/test/java/com/alibaba/druid/bvt/proxy/WrapImplTest.java @@ -45,7 +45,7 @@ public class WrapImplTest extends TestCase { DataSourceProxyImpl dataSource = (DataSourceProxyImpl) connection.getDirectDataSource(); dataSource.getId(); - Assert.assertEquals(4, dataSource.getFilters().size()); + Assert.assertEquals(4, dataSource.getProxyFilters().size()); Assert.assertEquals(4, dataSource.getFilterClasses().length); Assert.assertNotNull(dataSource.getCreatedTime()); Assert.assertTrue(dataSource.getCreatedTime().getTime() != 0); diff --git a/src/test/java/com/alibaba/druid/pool/benckmark/Case3.java b/src/test/java/com/alibaba/druid/pool/benckmark/Case3.java index 7a0cfc107e..0c4edbc8b5 100644 --- a/src/test/java/com/alibaba/druid/pool/benckmark/Case3.java +++ b/src/test/java/com/alibaba/druid/pool/benckmark/Case3.java @@ -33,7 +33,7 @@ public class Case3 extends TestCase { private String validationQuery = "SELECT 1"; // "SELECT 1"; private int threadCount = 10; private int TEST_COUNT = 3; - final int LOOP_COUNT = 1000 * 100; + final int LOOP_COUNT = 1000 * 1000; private boolean testOnBorrow = false; private String connectionProperties = ""; // "bigStringTryClob=true;clientEncoding=GBK;defaultRowPrefetch=50;serverEncoding=ISO-8859-1"; private String sql = "SELECT 1"; @@ -41,16 +41,16 @@ public class Case3 extends TestCase { private long minEvictableIdleTimeMillis = 60000; protected void setUp() throws Exception { -// jdbcUrl = "jdbc:fake:dragoon_v25masterdb"; -// user = "dragoon25"; -// password = "dragoon25"; -// driverClass = "com.alibaba.druid.mock.MockDriver"; + jdbcUrl = "jdbc:fake:dragoon_v25masterdb"; + user = "dragoon25"; + password = "dragoon25"; + driverClass = "com.alibaba.druid.mock.MockDriver"; // connectionProperties = "connectSleep=3;executeSleep=1"; - jdbcUrl = "jdbc:mysql://10.20.153.104:3306/druid2"; - user = "root"; - password = "root"; - driverClass = "com.mysql.jdbc.Driver"; +// jdbcUrl = "jdbc:mysql://10.20.153.104:3306/druid2"; +// user = "root"; +// password = "root"; +// driverClass = "com.mysql.jdbc.Driver"; } public void test_perf() throws Exception { @@ -165,8 +165,6 @@ public class Case3 extends TestCase { rs.close(); stmt.close(); - Thread.sleep(1); - conn.close(); count.incrementAndGet(); }