From eb67fca46e401e460c11838c0eb5cffe357feafa Mon Sep 17 00:00:00 2001 From: wenshao Date: Fri, 24 Aug 2012 22:57:46 +0800 Subject: [PATCH] fixed encoding --- .../java/com/alibaba/druid/TestIdel3.java | 19 +- .../java/com/alibaba/druid/TestRollBack.java | 21 +- .../wall/MySqlWallPermitFunctionTest.java | 5 - .../filter/wall/WallMultiLineCommentTest.java | 5 - .../filter/wall/WallMultiStatementTest.java | 2 +- .../bvt/filter/wall/WallTruncateTest.java | 5 - .../bvt/filter/wall/WallTruncateTest1.java | 5 - .../druid/bvt/filter/wall/WallUpdateTest.java | 5 - .../bvt/filter/wall/WallUpdateTest1.java | 6 +- .../bvt/filter/wall/WallUpdateTest2.java | 6 +- .../druid/bvt/pool/TestIdle3_Concurrent.java | 4 +- .../pool/TestIdle3_Concurrent_MaxActive.java | 3 +- .../pool/TestIdle3_Concurrent_Starvation.java | 311 +++++++++--------- 13 files changed, 159 insertions(+), 238 deletions(-) diff --git a/src/test/java/com/alibaba/druid/TestIdel3.java b/src/test/java/com/alibaba/druid/TestIdel3.java index 20b254bd85..f411748a45 100644 --- a/src/test/java/com/alibaba/druid/TestIdel3.java +++ b/src/test/java/com/alibaba/druid/TestIdel3.java @@ -1,18 +1,3 @@ -/* - * Copyright 1999-2011 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ package com.alibaba.druid; import java.lang.management.ManagementFactory; @@ -49,7 +34,7 @@ public class TestIdel3 extends TestCase { ManagementFactory.getPlatformMBeanServer().registerMBean(dataSource, new ObjectName("com.alibaba:type=DataSource")); - // 第一次创建连æŽ? + // 第一次创建连接 { Assert.assertEquals(0, dataSource.getCreateCount()); Assert.assertEquals(0, dataSource.getActiveCount()); @@ -68,7 +53,7 @@ public class TestIdel3 extends TestCase { } { - // 并发创建14ä¸? + // 并发创建14个 int count = 14; Connection[] connections = new Connection[count]; for (int i = 0; i < count; ++i) { diff --git a/src/test/java/com/alibaba/druid/TestRollBack.java b/src/test/java/com/alibaba/druid/TestRollBack.java index 0ed217c70b..5d573168ec 100644 --- a/src/test/java/com/alibaba/druid/TestRollBack.java +++ b/src/test/java/com/alibaba/druid/TestRollBack.java @@ -1,18 +1,3 @@ -/* - * Copyright 1999-2011 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ package com.alibaba.druid; import java.beans.PropertyVetoException; @@ -86,14 +71,14 @@ public class TestRollBack { @Before public void before() { - // 清空æ‰?œ‰数据 + // 清空所有数据 dao_c3p0.clear("msg"); } @Test public void test_c3p0() { try { - // 将两条插入语句包裹在ä¸?¸ª事务内执è¡?第一条可以正常插å…?第二条超过字段长åº?会抛异常,事务会回æ»? + // 将两条插入语句包裹在一个事务内执行,第一条可以正常插入,第二条超过字段长度,会抛异常,事务会回滚 Trans.exec(new Atom() { @Override public void run() { @@ -104,7 +89,7 @@ public class TestRollBack { } catch (Exception e) { } - // abc也跟ç�?›ž滚了 + // abc也跟着回滚了 Assert.assertNull(dao_c3p0.fetch("msg", Cnd.where("message", "=", "abc"))); } diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallPermitFunctionTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallPermitFunctionTest.java index 5d8f550d86..3716d63b95 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallPermitFunctionTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallPermitFunctionTest.java @@ -21,11 +21,6 @@ import com.alibaba.druid.wall.WallUtils; import junit.framework.TestCase; -/** - * 这个场景测试访问MySql系统è¡? - * - * @author admin - */ public class MySqlWallPermitFunctionTest extends TestCase { public void test_permitTable() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallMultiLineCommentTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallMultiLineCommentTest.java index aed15688b6..39d44cc727 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallMultiLineCommentTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallMultiLineCommentTest.java @@ -21,11 +21,6 @@ import org.junit.Assert; import com.alibaba.druid.wall.WallUtils; -/** - * 测试多行注释的场æ™? - * @author admin - * - */ public class WallMultiLineCommentTest extends TestCase { private String sql = "select f1 from t /* xx */ "; diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallMultiStatementTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallMultiStatementTest.java index 92655d52cc..77a8c3cf12 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallMultiStatementTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallMultiStatementTest.java @@ -22,7 +22,7 @@ import org.junit.Assert; import com.alibaba.druid.wall.WallUtils; /** - * 测试禁止多条语句执行的场æ™? + * 测试禁止多条语句执行的场景 * @author admin * */ diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallTruncateTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallTruncateTest.java index 6bf7d59e55..02312a278b 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallTruncateTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallTruncateTest.java @@ -22,11 +22,6 @@ import org.junit.Assert; import com.alibaba.druid.wall.WallConfig; import com.alibaba.druid.wall.WallUtils; -/** - * 这个场景,检æµ? - * @author wenshao - * - */ public class WallTruncateTest extends TestCase { private String sql = "TRUNCATE TABLE T1"; diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallTruncateTest1.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallTruncateTest1.java index 37a353c779..3c622e5735 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallTruncateTest1.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallTruncateTest1.java @@ -22,11 +22,6 @@ import org.junit.Assert; import com.alibaba.druid.wall.WallConfig; import com.alibaba.druid.wall.WallUtils; -/** - * 这个场景,检æµ? - * @author wenshao - * - */ public class WallTruncateTest1 extends TestCase { private String sql = "TRUNCATE TABLE T1"; diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallUpdateTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallUpdateTest.java index 18fd741df2..b4563c1ff6 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallUpdateTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallUpdateTest.java @@ -22,11 +22,6 @@ import org.junit.Assert; import com.alibaba.druid.wall.WallConfig; import com.alibaba.druid.wall.WallUtils; -/** - * 这个场景,检æµ? - * @author wenshao - * - */ public class WallUpdateTest extends TestCase { private String sql = "UPDATE T_USER SET FNAME = ? WHERE FID = ?"; diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallUpdateTest1.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallUpdateTest1.java index a772320d43..44bf4ea830 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallUpdateTest1.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallUpdateTest1.java @@ -22,11 +22,7 @@ import org.junit.Assert; import com.alibaba.druid.wall.WallConfig; import com.alibaba.druid.wall.WallUtils; -/** - * 这个场景,检æµ? - * @author wenshao - * - */ + public class WallUpdateTest1 extends TestCase { private String sql = "UPDATE T_USER SET FNAME = ? WHERE FID = ?"; diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallUpdateTest2.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallUpdateTest2.java index 715fe99246..f9731ba4ab 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallUpdateTest2.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallUpdateTest2.java @@ -22,11 +22,7 @@ import org.junit.Assert; import com.alibaba.druid.wall.WallConfig; import com.alibaba.druid.wall.WallUtils; -/** - * 这个场景,检æµ? - * @author wenshao - * - */ + public class WallUpdateTest2 extends TestCase { private String sql = "UPDATE T_USER SET FNAME = ?"; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/TestIdle3_Concurrent.java b/src/test/java/com/alibaba/druid/bvt/pool/TestIdle3_Concurrent.java index a397380900..5862dcaf3f 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/TestIdle3_Concurrent.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/TestIdle3_Concurrent.java @@ -57,7 +57,7 @@ public class TestIdle3_Concurrent extends TestCase { // ManagementFactory.getPlatformMBeanServer().registerMBean(dataSource, new // ObjectName("com.alibaba:type=DataSource")); - // 第一次创建连æŽ? + // 第一次创建连接 { Assert.assertEquals(0, dataSource.getCreateCount()); Assert.assertEquals(0, dataSource.getActiveCount()); @@ -76,7 +76,7 @@ public class TestIdle3_Concurrent extends TestCase { } { - // 并发创建14ä¸? + // 并发创建14个 concurrent(driver, dataSource, 30); } diff --git a/src/test/java/com/alibaba/druid/bvt/pool/TestIdle3_Concurrent_MaxActive.java b/src/test/java/com/alibaba/druid/bvt/pool/TestIdle3_Concurrent_MaxActive.java index 3cd08e951d..e525077616 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/TestIdle3_Concurrent_MaxActive.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/TestIdle3_Concurrent_MaxActive.java @@ -58,8 +58,7 @@ public class TestIdle3_Concurrent_MaxActive extends TestCase { } public void test_idle2() throws Exception { - - // 第一次创建连接 + // first connect { Assert.assertEquals(0, dataSource.getCreateCount()); Assert.assertEquals(0, dataSource.getActiveCount()); diff --git a/src/test/java/com/alibaba/druid/bvt/pool/TestIdle3_Concurrent_Starvation.java b/src/test/java/com/alibaba/druid/bvt/pool/TestIdle3_Concurrent_Starvation.java index 44c8f53929..0c9a222144 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/TestIdle3_Concurrent_Starvation.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/TestIdle3_Concurrent_Starvation.java @@ -1,163 +1,148 @@ -/* - * Copyright 1999-2011 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.druid.bvt.pool; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.CyclicBarrier; -import java.util.concurrent.atomic.AtomicInteger; - -import junit.framework.Assert; -import junit.framework.TestCase; - -import com.alibaba.druid.mock.MockDriver; -import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.stat.DruidDataSourceStatManager; - -public class TestIdle3_Concurrent_Starvation extends TestCase { - - private MockDriver driver; - private DruidDataSource dataSource; - - protected void setUp() throws Exception { - DruidDataSourceStatManager.cear(); - - driver = new MockDriver(); - - dataSource = new DruidDataSource(); - dataSource.setUrl("jdbc:mock:xxx"); - dataSource.setDriver(driver); - dataSource.setInitialSize(1); - dataSource.setMaxActive(100); - dataSource.setMaxIdle(100); - dataSource.setMinIdle(1); - dataSource.setMinEvictableIdleTimeMillis(300 * 1000); // 300 / 10 - dataSource.setTimeBetweenEvictionRunsMillis(180 * 1000); // 180 / 10 - dataSource.setTestWhileIdle(true); - dataSource.setTestOnBorrow(false); - dataSource.setValidationQuery("SELECT 1"); - dataSource.setFilters("stat"); - - } - - protected void tearDown() throws Exception { - dataSource.close(); - Assert.assertEquals(0, DruidDataSourceStatManager.getInstance().getDataSourceList().size()); - } - - public void test_idle2() throws Exception { - - // 第一次创建连æŽ? - { - 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 < 1; ++i) { - final int threadCount = 100; - concurrent(threadCount); - } - - // 连续打开关闭单个连接 - for (int i = 0; i < 100; ++i) { - Assert.assertEquals(0, dataSource.getActiveCount()); - Connection conn = dataSource.getConnection(); - - Assert.assertEquals(1, dataSource.getActiveCount()); - conn.close(); - } - // Assert.assertEquals(2, dataSource.getPoolingCount()); - - } - - private void concurrent(final int threadCount) throws Exception { - Thread[] threads = new Thread[threadCount]; - final CountDownLatch startLatch = new CountDownLatch(1); - final CountDownLatch endLatch = new CountDownLatch(threadCount); - - final AtomicInteger pass = new AtomicInteger(); - - final CyclicBarrier closedBarrier = new CyclicBarrier(threadCount, new Runnable() { - - public void run() { - Assert.assertEquals(threadCount, dataSource.getPoolingCount()); - dataSource.shrink(false); - Assert.assertEquals(0, dataSource.getActiveCount()); - Assert.assertEquals(dataSource.getMinIdle(), dataSource.getPoolingCount()); - if (pass.getAndIncrement() % 100 == 0) { - System.out.println("pass : " + pass.get()); - } - } - }); - final CyclicBarrier closeBarrier = new CyclicBarrier(threadCount, new Runnable() { - - public void run() { - Assert.assertEquals(threadCount, dataSource.getActiveCount()); - } - }); - - for (int i = 0; i < threadCount; ++i) { - threads[i] = new Thread("thread-" + i) { - - public void run() { - try { - startLatch.await(); - for (int i = 0; i < 1000 * 1; ++i) { - - Connection conn = dataSource.getConnection(); - closeBarrier.await(); - PreparedStatement stmt = conn.prepareStatement("SELECT 1"); - ResultSet rs = stmt.executeQuery(); - rs.next(); - rs.close(); - stmt.close(); - conn.close(); - closedBarrier.await(); - } - } catch (Exception e) { - e.printStackTrace(); - } finally { - endLatch.countDown(); - } - } - }; - } - - startLatch.countDown(); - for (int i = 0; i < threadCount; ++i) { - threads[i].start(); - } - - endLatch.await(); - - // int max = count > dataSource.getMaxActive() ? dataSource.getMaxActive() : count; - // Assert.assertEquals(max, driver.getConnections().size()); - } -} +package com.alibaba.druid.bvt.pool; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.CyclicBarrier; +import java.util.concurrent.atomic.AtomicInteger; + +import junit.framework.Assert; +import junit.framework.TestCase; + +import com.alibaba.druid.mock.MockDriver; +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.stat.DruidDataSourceStatManager; + +public class TestIdle3_Concurrent_Starvation extends TestCase { + + private MockDriver driver; + private DruidDataSource dataSource; + + protected void setUp() throws Exception { + DruidDataSourceStatManager.cear(); + + driver = new MockDriver(); + + dataSource = new DruidDataSource(); + dataSource.setUrl("jdbc:mock:xxx"); + dataSource.setDriver(driver); + dataSource.setInitialSize(1); + dataSource.setMaxActive(100); + dataSource.setMaxIdle(100); + dataSource.setMinIdle(1); + dataSource.setMinEvictableIdleTimeMillis(300 * 1000); // 300 / 10 + dataSource.setTimeBetweenEvictionRunsMillis(180 * 1000); // 180 / 10 + dataSource.setTestWhileIdle(true); + dataSource.setTestOnBorrow(false); + dataSource.setValidationQuery("SELECT 1"); + dataSource.setFilters("stat"); + + } + + protected void tearDown() throws Exception { + dataSource.close(); + Assert.assertEquals(0, DruidDataSourceStatManager.getInstance().getDataSourceList().size()); + } + + public void test_idle2() throws Exception { + + // 第一次创建连接 + { + 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 < 1; ++i) { + final int threadCount = 100; + concurrent(threadCount); + } + + // 连续打开关闭单个连接 + for (int i = 0; i < 100; ++i) { + Assert.assertEquals(0, dataSource.getActiveCount()); + Connection conn = dataSource.getConnection(); + + Assert.assertEquals(1, dataSource.getActiveCount()); + conn.close(); + } + // Assert.assertEquals(2, dataSource.getPoolingCount()); + + } + + private void concurrent(final int threadCount) throws Exception { + Thread[] threads = new Thread[threadCount]; + final CountDownLatch startLatch = new CountDownLatch(1); + final CountDownLatch endLatch = new CountDownLatch(threadCount); + + final AtomicInteger pass = new AtomicInteger(); + + final CyclicBarrier closedBarrier = new CyclicBarrier(threadCount, new Runnable() { + + public void run() { + Assert.assertEquals(threadCount, dataSource.getPoolingCount()); + dataSource.shrink(false); + Assert.assertEquals(0, dataSource.getActiveCount()); + Assert.assertEquals(dataSource.getMinIdle(), dataSource.getPoolingCount()); + if (pass.getAndIncrement() % 100 == 0) { + System.out.println("pass : " + pass.get()); + } + } + }); + final CyclicBarrier closeBarrier = new CyclicBarrier(threadCount, new Runnable() { + + public void run() { + Assert.assertEquals(threadCount, dataSource.getActiveCount()); + } + }); + + for (int i = 0; i < threadCount; ++i) { + threads[i] = new Thread("thread-" + i) { + + public void run() { + try { + startLatch.await(); + for (int i = 0; i < 1000 * 1; ++i) { + + Connection conn = dataSource.getConnection(); + closeBarrier.await(); + PreparedStatement stmt = conn.prepareStatement("SELECT 1"); + ResultSet rs = stmt.executeQuery(); + rs.next(); + rs.close(); + stmt.close(); + conn.close(); + closedBarrier.await(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + endLatch.countDown(); + } + } + }; + } + + startLatch.countDown(); + for (int i = 0; i < threadCount; ++i) { + threads[i].start(); + } + + endLatch.await(); + + // int max = count > dataSource.getMaxActive() ? dataSource.getMaxActive() : count; + // Assert.assertEquals(max, driver.getConnections().size()); + } +}