You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2016/04/01 04:37:51 UTC
activemq-artemis git commit: Improving Thread checker API
Repository: activemq-artemis
Updated Branches:
refs/heads/refactor-openwire fb4456813 -> 3b9dc7a63
Improving Thread checker API
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/3b9dc7a6
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/3b9dc7a6
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/3b9dc7a6
Branch: refs/heads/refactor-openwire
Commit: 3b9dc7a631460d8e6ddcd6554a0b5b9fb07bd7fd
Parents: fb44568
Author: Clebert Suconic <cl...@apache.org>
Authored: Thu Mar 31 22:33:15 2016 -0400
Committer: Clebert Suconic <cl...@apache.org>
Committed: Thu Mar 31 22:33:19 2016 -0400
----------------------------------------------------------------------
.../artemis/tests/util/ThreadLeakCheckRule.java | 27 ++++++++++----------
.../transport/SoWriteTimeoutClientTest.java | 4 +--
2 files changed, 16 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/3b9dc7a6/artemis-server/src/test/java/org/apache/activemq/artemis/tests/util/ThreadLeakCheckRule.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/tests/util/ThreadLeakCheckRule.java b/artemis-server/src/test/java/org/apache/activemq/artemis/tests/util/ThreadLeakCheckRule.java
index 232d3ae..3b53d53 100644
--- a/artemis-server/src/test/java/org/apache/activemq/artemis/tests/util/ThreadLeakCheckRule.java
+++ b/artemis-server/src/test/java/org/apache/activemq/artemis/tests/util/ThreadLeakCheckRule.java
@@ -28,7 +28,7 @@ import org.junit.rules.ExternalResource;
* This is useful to make sure you won't have leaking threads between tests
*/
public class ThreadLeakCheckRule extends ExternalResource {
- private static Set<String> extraThreads = new HashSet<String>();
+ private static Set<String> knownThreads = new HashSet<String>();
boolean enabled = true;
@@ -97,10 +97,12 @@ public class ThreadLeakCheckRule extends ExternalResource {
}
- public static void addExtraThreads(String... threads) {
- for (String th : threads) {
- extraThreads.add(th);
- }
+ public static void removeKownThread(String name) {
+ knownThreads.remove(name);
+ }
+
+ public static void addKownThread(String name) {
+ knownThreads.add(name);
}
private boolean checkThread() {
@@ -191,21 +193,20 @@ public class ThreadLeakCheckRule extends ExternalResource {
// Static workers used by MQTT client.
return true;
}
- else if (extraThreads.contains(threadName)) {
- return true;
- }
else {
for (StackTraceElement element : thread.getStackTrace()) {
if (element.getClassName().contains("org.jboss.byteman.agent.TransformListener")) {
return true;
}
}
- return false;
- }
- }
+ for (String known: knownThreads) {
+ if (threadName.contains(known)) {
+ return true;
+ }
+ }
- public static void clearExtraThreads() {
- extraThreads.clear();
+ return false;
+ }
}
}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/3b9dc7a6/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/SoWriteTimeoutClientTest.java
----------------------------------------------------------------------
diff --git a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/SoWriteTimeoutClientTest.java b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/SoWriteTimeoutClientTest.java
index 48c36cf..0b62b31 100644
--- a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/SoWriteTimeoutClientTest.java
+++ b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/transport/SoWriteTimeoutClientTest.java
@@ -54,12 +54,12 @@ public class SoWriteTimeoutClientTest extends OpenwireArtemisBaseTest {
@BeforeClass
public static void beforeTest() throws Exception {
//this thread keeps alive in original test too. Exclude it.
- ThreadLeakCheckRule.addExtraThreads("WriteTimeoutFilter-Timeout-1");
+ ThreadLeakCheckRule.addKownThread("WriteTimeoutFilter-Timeout");
}
@AfterClass
public static void afterTest() throws Exception {
- ThreadLeakCheckRule.clearExtraThreads();
+ ThreadLeakCheckRule.removeKownThread("WriteTimeoutFilter-Timeout");
}
@Before