Search in sources :

Example 11 with MockDriver

use of com.alibaba.druid.mock.MockDriver in project druid by alibaba.

the class TestRemoveAbandoned2 method setUp.

protected void setUp() throws Exception {
    driver = new MockDriver();
    dataSource = new DruidDataSource();
    dataSource.setUrl("jdbc:mock:xxx");
    dataSource.setDriver(driver);
    dataSource.setInitialSize(1);
    dataSource.setMaxActive(2);
    dataSource.setMaxIdle(2);
    dataSource.setMinIdle(1);
    // 300 / 10
    dataSource.setMinEvictableIdleTimeMillis(300 * 1000);
    // 180 / 10
    dataSource.setTimeBetweenEvictionRunsMillis(1000 * 300);
    dataSource.setRemoveAbandoned(true);
    dataSource.setRemoveAbandonedTimeoutMillis(0);
    dataSource.setTestWhileIdle(true);
    dataSource.setTestOnBorrow(false);
    dataSource.setValidationQuery("SELECT 1");
    dataSource.setFilters("stat");
    Assert.assertEquals(0, DruidDataSourceStatManager.getInstance().getDataSourceList().size());
}
Also used : MockDriver(com.alibaba.druid.mock.MockDriver) DruidDataSource(com.alibaba.druid.pool.DruidDataSource)

Example 12 with MockDriver

use of com.alibaba.druid.mock.MockDriver in project druid by alibaba.

the class TestGetUpdateCount method setUp.

protected void setUp() throws Exception {
    driver = new MockDriver() {

        @Override
        public MockPreparedStatement createMockPreparedStatement(MockConnection conn, String sql) {
            return new MyPreparedStatement(conn, sql);
        }
    };
    // /////////////////////////////
    dataSource = new DruidDataSource();
    dataSource.setDriver(driver);
    dataSource.setUrl("jdbc:mock:xx");
    dataSource.setFilters("stat");
    dataSource.setMaxOpenPreparedStatements(30);
}
Also used : MockDriver(com.alibaba.druid.mock.MockDriver) MockPreparedStatement(com.alibaba.druid.mock.MockPreparedStatement) MockConnection(com.alibaba.druid.mock.MockConnection) DruidDataSource(com.alibaba.druid.pool.DruidDataSource)

Example 13 with MockDriver

use of com.alibaba.druid.mock.MockDriver in project druid by alibaba.

the class TestIdle2 method test_idle2.

public void test_idle2() throws Exception {
    MockDriver driver = new MockDriver();
    DruidDataSource dataSource = new DruidDataSource();
    dataSource.setUrl("jdbc:mock:xxx");
    dataSource.setDriver(driver);
    dataSource.setInitialSize(14);
    dataSource.setMaxActive(14);
    dataSource.setMaxIdle(14);
    dataSource.setMinIdle(14);
    dataSource.setMinEvictableIdleTimeMillis(50 * 1);
    dataSource.setTimeBetweenEvictionRunsMillis(10);
    dataSource.setTestWhileIdle(true);
    dataSource.setTestOnBorrow(false);
    dataSource.setValidationQuery("SELECT 1");
    {
        Assert.assertEquals(0, dataSource.getCreateCount());
        Assert.assertEquals(0, dataSource.getActiveCount());
        Connection conn = dataSource.getConnection();
        Assert.assertEquals(dataSource.getInitialSize(), dataSource.getCreateCount());
        Assert.assertEquals(dataSource.getInitialSize(), driver.getConnections().size());
        Assert.assertEquals(1, dataSource.getActiveCount());
        conn.close();
        Assert.assertEquals(0, dataSource.getDestroyCount());
        Assert.assertEquals(true, dataSource.getPoolingCount() == driver.getConnections().size());
        Assert.assertEquals(0, dataSource.getActiveCount());
    }
    String text = dataSource.toString();
    System.out.println(text);
    {
        int count = 14;
        Connection[] connections = new Connection[count];
        for (int i = 0; i < count; ++i) {
            connections[i] = dataSource.getConnection();
            Assert.assertEquals(i + 1, dataSource.getActiveCount());
        }
        Assert.assertEquals(dataSource.getMaxActive(), dataSource.getCreateCount());
        Assert.assertEquals(count, driver.getConnections().size());
        for (int i = 0; i < count; ++i) {
            connections[i].close();
            Assert.assertEquals(count - i - 1, dataSource.getActiveCount());
        }
        Assert.assertEquals(dataSource.getMaxActive(), dataSource.getCreateCount());
        Assert.assertEquals(0, dataSource.getActiveCount());
        Assert.assertEquals(14, driver.getConnections().size());
    }
    for (int i = 0; i < 100; ++i) {
        Assert.assertEquals(0, dataSource.getActiveCount());
        Connection conn = dataSource.getConnection();
        Assert.assertEquals(1, dataSource.getActiveCount());
        Thread.sleep(1);
        conn.close();
    }
    Assert.assertEquals(true, dataSource.getPoolingCount() == dataSource.getMaxActive());
    dataSource.close();
}
Also used : MockDriver(com.alibaba.druid.mock.MockDriver) Connection(java.sql.Connection) DruidDataSource(com.alibaba.druid.pool.DruidDataSource)

Example 14 with MockDriver

use of com.alibaba.druid.mock.MockDriver in project druid by alibaba.

the class TestPoolPreparedStatement method setUp.

protected void setUp() throws Exception {
    DruidDataSourceStatManager.clear();
    driver = new MockDriver();
    dataSource = new DruidDataSource();
    dataSource.setUrl("jdbc:mock:xxx");
    dataSource.setDriver(driver);
    dataSource.setInitialSize(1);
    dataSource.setMaxActive(2);
    dataSource.setMaxIdle(2);
    dataSource.setMinIdle(1);
    // 300 / 10
    dataSource.setMinEvictableIdleTimeMillis(300 * 1000);
    // 180 / 10
    dataSource.setTimeBetweenEvictionRunsMillis(10);
    dataSource.setTestWhileIdle(true);
    dataSource.setTestOnBorrow(false);
    dataSource.setValidationQuery("SELECT 1");
    dataSource.setFilters("stat");
    dataSource.setPoolPreparedStatements(true);
// ((StatFilter) dataSource.getProxyFilters().get(0)).setMaxSqlStatCount(100);
}
Also used : MockDriver(com.alibaba.druid.mock.MockDriver) DruidDataSource(com.alibaba.druid.pool.DruidDataSource)

Example 15 with MockDriver

use of com.alibaba.druid.mock.MockDriver in project druid by alibaba.

the class TestRemoveAbandoned method setUp.

protected void setUp() throws Exception {
    driver = new MockDriver();
    dataSource = new DruidDataSource();
    dataSource.setUrl("jdbc:mock:xxx");
    dataSource.setDriver(driver);
    dataSource.setInitialSize(1);
    dataSource.setMaxActive(2);
    dataSource.setMaxIdle(2);
    dataSource.setMinIdle(1);
    // 300 / 10
    dataSource.setMinEvictableIdleTimeMillis(300 * 1000);
    // 180 / 10
    dataSource.setTimeBetweenEvictionRunsMillis(10);
    dataSource.setRemoveAbandoned(true);
    dataSource.setRemoveAbandonedTimeoutMillis(10);
    dataSource.setTestWhileIdle(true);
    dataSource.setTestOnBorrow(false);
    dataSource.setValidationQuery("SELECT 1");
    dataSource.setFilters("stat");
    Assert.assertEquals(0, DruidDataSourceStatManager.getInstance().getDataSourceList().size());
}
Also used : MockDriver(com.alibaba.druid.mock.MockDriver) DruidDataSource(com.alibaba.druid.pool.DruidDataSource)

Aggregations

MockDriver (com.alibaba.druid.mock.MockDriver)60 DruidDataSource (com.alibaba.druid.pool.DruidDataSource)49 Connection (java.sql.Connection)17 SQLException (java.sql.SQLException)13 ResultSet (java.sql.ResultSet)10 Properties (java.util.Properties)9 MockConnection (com.alibaba.druid.mock.MockConnection)8 MockStatementBase (com.alibaba.druid.mock.MockStatementBase)7 MockPreparedStatement (com.alibaba.druid.mock.MockPreparedStatement)5 DataSourceProxyConfig (com.alibaba.druid.proxy.jdbc.DataSourceProxyConfig)5 DataSourceProxyImpl (com.alibaba.druid.proxy.jdbc.DataSourceProxyImpl)5 JdbcStatContext (com.alibaba.druid.stat.JdbcStatContext)5 Log4jFilter (com.alibaba.druid.filter.logging.Log4jFilter)4 CommonsLogFilter (com.alibaba.druid.filter.logging.CommonsLogFilter)3 MockResultSet (com.alibaba.druid.mock.MockResultSet)3 MockStatement (com.alibaba.druid.mock.MockStatement)3 Statement (java.sql.Statement)3 ObjectName (javax.management.ObjectName)3 StatFilter (com.alibaba.druid.filter.stat.StatFilter)2 DruidPooledConnection (com.alibaba.druid.pool.DruidPooledConnection)2