From 7fe431b21f70f2187afe6f28ccb3e78140c4719d Mon Sep 17 00:00:00 2001 From: Daniel Kulp Date: Thu, 10 Jul 2014 15:28:43 -0400 Subject: [PATCH] Cleanup in ConnectTest to do two things: 1) connect/disconnect 500 (which still seems high) times instead of as many as possible in 25seconds. On fast machines, this is MUCH faster. 2) Actually call Thead.start(), not Thread.run() in cases where it should be on a background thread. --- .../activemq/transport/stomp/ConnectTest.java | 40 +++++++------------ 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/activemq-stomp/src/test/java/org/apache/activemq/transport/stomp/ConnectTest.java b/activemq-stomp/src/test/java/org/apache/activemq/transport/stomp/ConnectTest.java index 1e13143e710..e95fd9238aa 100644 --- a/activemq-stomp/src/test/java/org/apache/activemq/transport/stomp/ConnectTest.java +++ b/activemq-stomp/src/test/java/org/apache/activemq/transport/stomp/ConnectTest.java @@ -29,9 +29,11 @@ import org.apache.activemq.broker.BrokerService; import org.apache.activemq.security.JaasDualAuthenticationPlugin; import org.apache.activemq.util.Wait; + import org.junit.After; import org.junit.Before; import org.junit.Test; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -62,28 +64,16 @@ public void testStompConnectLeak() throws Exception { brokerService.addConnector("stomp://0.0.0.0:0?transport.soLinger=0"); brokerService.start(); - Thread t1 = new Thread() { - StompConnection connection = new StompConnection(); - - @Override - public void run() { - try { - connection.open("localhost", brokerService.getTransportConnectors().get(0).getConnectUri().getPort()); - connection.connect("system", "manager"); - connection.disconnect(); - } catch (Exception ex) { - LOG.error("unexpected exception on connect/disconnect", ex); - exceptions.add(ex); - } - } - }; - - int i = 0; - long done = System.currentTimeMillis() + (15 * 1000); - while (System.currentTimeMillis() < done) { - t1.run(); - if (++i % 5000 == 0) { - LOG.info("connection count on stomp connector:" + brokerService.getTransportConnectors().get(0).connectionCount()); + StompConnection connection = new StompConnection(); + //test 500 connect/disconnects + for (int x = 0; x < 500; x++) { + try { + connection.open("localhost", brokerService.getTransportConnectors().get(0).getConnectUri().getPort()); + connection.connect("system", "manager"); + connection.disconnect(); + } catch (Exception ex) { + LOG.error("unexpected exception on connect/disconnect", ex); + exceptions.add(ex); } } @@ -119,7 +109,7 @@ public void run() { } }; - t1.run(); + t1.start(); assertTrue("one connection", Wait.waitFor(new Wait.Condition() { @Override @@ -143,7 +133,7 @@ public boolean isSatisified() throws Exception { @Test public void testInactivityMonitor() throws Exception { - brokerService.addConnector("stomp://0.0.0.0:0?transport.defaultHeartBeat=5000,0&transport.useKeepAlive=false"); + brokerService.addConnector("stomp://0.0.0.0:0?transport.defaultHeartBeat=1000,0&transport.useKeepAlive=false"); brokerService.start(); Thread t1 = new Thread() { @@ -161,7 +151,7 @@ public void run() { } }; - t1.run(); + t1.start(); assertTrue("one connection", Wait.waitFor(new Wait.Condition() { @Override