public void test_idle2() throws Exception { // ManagementFactory.getPlatformMBeanServer().registerMBean(dataSource, // new ObjectName("com.alibaba:type=DataSource")); // 第一次创建连接 { 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(1, driver.getConnections().size()); Assert.assertEquals(1, dataSource.getCreateCount()); Assert.assertEquals(0, dataSource.getActiveCount()); } for (int i = 0; i < 1000; ++i) { concurrent(200); Assert.assertEquals("" + i, true, dataSource.getPoolingCount() <= dataSource.getMaxActive()); dataSource.shrink(); } // 连续打开关闭单个连接 for (int i = 0; i < 1000; ++i) { Assert.assertEquals(0, dataSource.getActiveCount()); Connection conn = dataSource.getConnection(); Assert.assertEquals(1, dataSource.getActiveCount()); conn.close(); } // Assert.assertEquals(2, dataSource.getPoolingCount()); dataSource.close(); }
public void test_1() throws Exception { DruidDataSource dataSource = new DruidDataSource(); dataSource.setUrl("jdbc:mysql://10.20.153.104:3306/druid2"); dataSource.setUsername("root"); dataSource.setPassword("root"); Connection conn = dataSource.getConnection(); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT 1"); rs.next(); conn.close(); Assert.assertEquals(true, stmt.isClosed()); Assert.assertEquals(true, rs.isClosed()); rs.close(); stmt.close(); dataSource.close(); }