diff --git a/src/test/java/com/alibaba/druid/bvt/pool/SpringFilterTest.java b/src/test/java/com/alibaba/druid/bvt/pool/SpringFilterTest.java new file mode 100644 index 0000000000..cc48c14c36 --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/pool/SpringFilterTest.java @@ -0,0 +1,45 @@ +package com.alibaba.druid.bvt.pool; + +import java.sql.Connection; +import java.sql.SQLException; +import java.util.Properties; +import java.util.concurrent.atomic.AtomicLong; + +import javax.sql.DataSource; + +import junit.framework.Assert; +import junit.framework.TestCase; + +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +import com.alibaba.druid.filter.FilterAdapter; +import com.alibaba.druid.filter.FilterChain; +import com.alibaba.druid.proxy.jdbc.ConnectionProxy; + +public class SpringFilterTest extends TestCase { + public void test_spring() throws Exception { + ApplicationContext context = new ClassPathXmlApplicationContext("com/alibaba/druid/pool/spring-config-1.xml"); + + DataSource dataSource = (DataSource) context.getBean("dataSource"); + Connection conn = dataSource.getConnection(); + conn.close(); + + TestFilter filter = (TestFilter) context.getBean("test-filter"); + Assert.assertEquals(1, filter.getConnectCount()); + } + + public static class TestFilter extends FilterAdapter { + private AtomicLong connectCount = new AtomicLong(); + + @Override + public ConnectionProxy connection_connect(FilterChain chain, Properties info) throws SQLException { + connectCount.incrementAndGet(); + return chain.connection_connect(info); + } + + public long getConnectCount() { + return connectCount.get(); + } + } +} diff --git a/src/test/resources/com/alibaba/druid/pool/spring-config-1.xml b/src/test/resources/com/alibaba/druid/pool/spring-config-1.xml index a2660cde21..12575f0780 100644 --- a/src/test/resources/com/alibaba/druid/pool/spring-config-1.xml +++ b/src/test/resources/com/alibaba/druid/pool/spring-config-1.xml @@ -6,19 +6,13 @@ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd" default-lazy-init="true"> + + + - - jdbc:derby:memory:bvt-1;create=true - - jdbc:derby:memory:bvt-1;create=true - - - ${dragoon-demo-datasource-user} - - - ${dragoon-demo-datasource-password} + jdbc:mock: 1 @@ -26,6 +20,11 @@ http://www.springframework.org/schema/aop http://www.springframework.org/schema/ 20 + + + + + \ No newline at end of file