From 6517ba5e35c4cf58774983e21e7365eeb3a3533f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E9=93=81?= Date: Sun, 27 Mar 2016 20:21:12 +0800 Subject: [PATCH] fixed testcase --- .../druid/bvt/pool/AsyncCloseTest3.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/alibaba/druid/bvt/pool/AsyncCloseTest3.java b/src/test/java/com/alibaba/druid/bvt/pool/AsyncCloseTest3.java index 9861471685..e34d0f8d35 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/AsyncCloseTest3.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/AsyncCloseTest3.java @@ -1,5 +1,6 @@ package com.alibaba.druid.bvt.pool; +import java.lang.management.ManagementFactory; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; @@ -33,8 +34,12 @@ public class AsyncCloseTest3 extends TestCase { private Logger log; private Level oldLevel; + + long xmx = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getMax() / (1000 * 1000); // m protected void setUp() throws Exception { + System.gc(); + LogFactory.selectLog4JLogging(); log = ((Log4jImpl) LogFactory.getLog(DruidDataSource.class)).getLog(); oldLevel = log.getLevel(); @@ -111,7 +116,18 @@ public class AsyncCloseTest3 extends TestCase { Assert.assertEquals(0, dataSource.getActiveCount()); Assert.assertEquals(0, dataSource.getPoolingCount()); - final int COUNT = 1024 * 128; + final int COUNT; + + if (xmx <= 256) { + COUNT = 1024 * 16; + } else if (xmx <= 512) { + COUNT = 1024 * 32; + } else if (xmx <= 1024) { + COUNT = 1024 * 64; + } else { + COUNT = 1024 * 128; + } + final CountDownLatch closeLatch = new CountDownLatch(COUNT * 2); final CountDownLatch execLatch = new CountDownLatch(COUNT);