diff --git a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java index 9c1f1bd187..6428a12bb4 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java @@ -59,7 +59,7 @@ import com.alibaba.druid.util.JdbcUtils; * @author wenshao * @author ljw */ -public abstract class DruidAbstractDataSource implements DruidAbstractDataSourceMBean, DataSource, DataSourceProxy, Serializable { +public abstract class DruidAbstractDataSource extends WrapperAdapter implements DruidAbstractDataSourceMBean, DataSource, DataSourceProxy, Serializable { private static final long serialVersionUID = 1L; @@ -713,16 +713,6 @@ public abstract class DruidAbstractDataSource implements DruidAbstractDataSource return DriverManager.getLoginTimeout(); } - @Override - public T unwrap(Class iface) throws SQLException { - return null; - } - - @Override - public boolean isWrapperFor(Class iface) throws SQLException { - return false; - } - protected void initConnectionFactory() throws SQLException { connectionFactory = createConnectionFactory(); } diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/TestDataSourceBasic.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/TestDataSourceBasic.java index 0380f32d6a..f2f3120663 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/TestDataSourceBasic.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/TestDataSourceBasic.java @@ -1,8 +1,11 @@ package com.alibaba.druid.bvt.pool.basic; import java.sql.Connection; +import java.sql.Date; import java.sql.Statement; +import javax.sql.DataSource; + import junit.framework.Assert; import junit.framework.TestCase; @@ -44,7 +47,9 @@ public class TestDataSourceBasic extends TestCase { } protected void tearDown() throws Exception { - Assert.assertEquals(true, dataSource.getCreateTimespanNano() > 0); + if (dataSource.getCreateCount() > 0) { + Assert.assertEquals(true, dataSource.getCreateTimespanNano() > 0); + } dataSource.close(); Assert.assertEquals(0, DruidDataSourceStatManager.getInstance().getDataSourceList().size()); } @@ -84,4 +89,9 @@ public class TestDataSourceBasic extends TestCase { Assert.assertEquals(0, dataSource.getActiveConnectionStackTrace().size()); Assert.assertEquals(0, dataSource.getActiveConnections().size()); } + + public void test_wrap() throws Exception { + Assert.assertTrue(!dataSource.isWrapperFor(Date.class)); + Assert.assertTrue(dataSource.isWrapperFor(DataSource.class)); + } }