Author: gtully Date: Tue Nov 4 06:38:20 2008 New Revision: 711264 URL: http://svn.apache.org/viewvc?rev=711264&view=rev Log: have master wait for slave to ensure slave is always present for duration of test Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/advisory/MasterSlaveTempQueueMemoryTest.java Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/advisory/MasterSlaveTempQueueMemoryTest.java URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/advisory/MasterSlaveTempQueueMemoryTest.java?rev=711264&r1=711263&r2=711264&view=diff ============================================================================== --- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/advisory/MasterSlaveTempQueueMemoryTest.java (original) +++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/advisory/MasterSlaveTempQueueMemoryTest.java Tue Nov 4 06:38:20 2008 @@ -19,7 +19,6 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageConsumer; import javax.jms.MessageListener; @@ -47,18 +46,35 @@ bindAddress = masterBindAddress; BrokerService master = super.createBroker(); master.setBrokerName("master"); + master.setUseJmx(false); bindAddress = slaveBindAddress; slave = super.createBroker(); slave.setBrokerName("slave"); slave.setMasterConnectorURI(masterBindAddress); + slave.setUseJmx(false); bindAddress = masterBindAddress; return master; } @Override protected void startBroker() throws Exception { - super.startBroker(); + + // because master will wait for slave to connect it needs + // to be in a separate thread + new Thread() { + public void run() { + try { + broker.setWaitForSlave(true); + broker.start(); + } catch (Exception e) { + fail("failed to start broker, reason:" + e); + e.printStackTrace(); + } + } + }.start(); + slave.start(); + assertTrue("slave is indeed a slave", slave.isSlave()); } @Override @@ -136,18 +152,18 @@ Message msg = clientSession.createMessage(); producer.send(msg); } + Thread.sleep(5000); RegionBroker slaveRb = (RegionBroker) slave.getBroker().getAdaptor( RegionBroker.class); RegionBroker masterRb = (RegionBroker) broker.getBroker().getAdaptor( RegionBroker.class); - Thread.sleep(4000); assertEquals("inflight match expected", messageCount, masterRb.getDestinationStatistics().getInflight().getCount()); assertEquals("inflight match on slave and master", slaveRb.getDestinationStatistics().getInflight().getCount(), masterRb.getDestinationStatistics().getInflight().getCount()); latch.countDown(); - Thread.sleep(4000); + Thread.sleep(5000); assertEquals("inflight match expected", 0, masterRb.getDestinationStatistics().getInflight().getCount()); assertEquals("inflight match on slave and master", slaveRb.getDestinationStatistics().getInflight().getCount(), masterRb.getDestinationStatistics().getInflight().getCount()); }