You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by de...@apache.org on 2010/09/22 10:50:54 UTC
svn commit: r999816 - in
/activemq/trunk/activemq-core/src/test/java/org/apache/activemq: ./ usecases/
Author: dejanb
Date: Wed Sep 22 08:50:54 2010
New Revision: 999816
URL: http://svn.apache.org/viewvc?rev=999816&view=rev
Log:
https://issues.apache.org/activemq/browse/AMQ-2927 - test case
Modified:
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/JmsMultipleBrokersTestSupport.java
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/AMQ2927Test.java
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/BrokerQueueNetworkWithDisconnectTest.java
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/MulticastDiscoveryOnFaultyNetworkTest.java
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/ThreeBrokerStompTemporaryQueueTest.java
Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/JmsMultipleBrokersTestSupport.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/JmsMultipleBrokersTestSupport.java?rev=999816&r1=999815&r2=999816&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/JmsMultipleBrokersTestSupport.java (original)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/JmsMultipleBrokersTestSupport.java Wed Sep 22 08:50:54 2010
@@ -85,25 +85,29 @@ public class JmsMultipleBrokersTestSuppo
BrokerService localBroker = brokers.get(localBrokerName).broker;
BrokerService remoteBroker = brokers.get(remoteBrokerName).broker;
- bridgeBrokers(localBroker, remoteBroker, dynamicOnly, 1, true);
+ bridgeBrokers(localBroker, remoteBroker, dynamicOnly, 1, true, false);
}
protected NetworkConnector bridgeBrokers(String localBrokerName, String remoteBrokerName, boolean dynamicOnly, int networkTTL, boolean conduit) throws Exception {
BrokerService localBroker = brokers.get(localBrokerName).broker;
BrokerService remoteBroker = brokers.get(remoteBrokerName).broker;
- return bridgeBrokers(localBroker, remoteBroker, dynamicOnly, networkTTL, conduit);
+ return bridgeBrokers(localBroker, remoteBroker, dynamicOnly, networkTTL, conduit, false);
}
// Overwrite this method to specify how you want to bridge the two brokers
// By default, bridge them using add network connector of the local broker
// and the first connector of the remote broker
- protected NetworkConnector bridgeBrokers(BrokerService localBroker, BrokerService remoteBroker, boolean dynamicOnly, int networkTTL, boolean conduit) throws Exception {
+ protected NetworkConnector bridgeBrokers(BrokerService localBroker, BrokerService remoteBroker, boolean dynamicOnly, int networkTTL, boolean conduit, boolean failover) throws Exception {
List<TransportConnector> transportConnectors = remoteBroker.getTransportConnectors();
URI remoteURI;
if (!transportConnectors.isEmpty()) {
remoteURI = transportConnectors.get(0).getConnectUri();
- NetworkConnector connector = new DiscoveryNetworkConnector(new URI("static:" + remoteURI));
+ String uri = "static:(" + remoteURI + ")";
+ if (failover) {
+ uri = "static:(failover:(" + remoteURI + "))";
+ }
+ NetworkConnector connector = new DiscoveryNetworkConnector(new URI(uri));
connector.setDynamicOnly(dynamicOnly);
connector.setNetworkTTL(networkTTL);
connector.setConduitSubscriptions(conduit);
Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/AMQ2927Test.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/AMQ2927Test.java?rev=999816&r1=999815&r2=999816&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/AMQ2927Test.java (original)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/AMQ2927Test.java Wed Sep 22 08:50:54 2010
@@ -20,6 +20,9 @@ import org.apache.activemq.JmsMultipleBr
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.command.ActiveMQQueue;
import org.apache.activemq.network.NetworkConnector;
+import org.apache.activemq.util.MessageIdList;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import javax.jms.MessageConsumer;
@@ -28,6 +31,8 @@ import java.net.URI;
public class AMQ2927Test extends JmsMultipleBrokersTestSupport {
+ private static final Log LOG = LogFactory.getLog(AMQ2927Test.class);
+
ActiveMQQueue queue = new ActiveMQQueue("TEST");
@Override
@@ -46,31 +51,72 @@ public class AMQ2927Test extends JmsMult
}
- public void testFailoverRestart() throws Exception {
+ public void testRestartSend() throws Exception {
Thread.sleep(1000);
- System.out.println("restarting broker");
+ LOG.info("restarting broker");
restartBroker("BrokerA");
Thread.sleep(5000);
- System.out.println("sending message");
+ LOG.info("sending message");
+
+ sendMessages("BrokerA", queue, 1);
+
+ Thread.sleep(3000);
+
+ LOG.info("consuming message");
+
+ MessageConsumer consumerA = createConsumer("BrokerA", queue);
+ MessageConsumer consumerB = createConsumer("BrokerB", queue);
+
+ Thread.sleep(1000);
+
+ MessageIdList messagesA = getConsumerMessages("BrokerA", consumerA);
+ MessageIdList messagesB = getConsumerMessages("BrokerB", consumerB);
+
+ LOG.info("consumerA = " + messagesA);
+ LOG.info("consumerB = " + messagesB);
+
+ messagesA.assertMessagesReceived(0);
+ messagesB.assertMessagesReceived(1);
+
+ }
+
+
+ public void testSendRestart() throws Exception {
+
+ Thread.sleep(1000);
+
+ LOG.info("sending message");
sendMessages("BrokerA", queue, 1);
Thread.sleep(3000);
- System.out.println("consuming message");
+ LOG.info("restarting broker");
+
+ restartBroker("BrokerA");
+
+ Thread.sleep(5000);
+
+ LOG.info("consuming message");
MessageConsumer consumerA = createConsumer("BrokerA", queue);
MessageConsumer consumerB = createConsumer("BrokerB", queue);
Thread.sleep(1000);
- System.out.println("consumerA = " + getConsumerMessages("BrokerA", consumerA));
- System.out.println("consumerB = " + getConsumerMessages("BrokerB", consumerB));
+ MessageIdList messagesA = getConsumerMessages("BrokerA", consumerA);
+ MessageIdList messagesB = getConsumerMessages("BrokerB", consumerB);
+
+ LOG.info("consumerA = " + messagesA);
+ LOG.info("consumerB = " + messagesB);
+
+ messagesA.assertMessagesReceived(0);
+ messagesB.assertMessagesReceived(1);
}
protected void restartBroker(String brokerName) throws Exception {
Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/BrokerQueueNetworkWithDisconnectTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/BrokerQueueNetworkWithDisconnectTest.java?rev=999816&r1=999815&r2=999816&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/BrokerQueueNetworkWithDisconnectTest.java (original)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/BrokerQueueNetworkWithDisconnectTest.java Wed Sep 22 08:50:54 2010
@@ -26,7 +26,6 @@ import javax.jms.TextMessage;
import junit.framework.Test;
import org.apache.activemq.JmsMultipleBrokersTestSupport;
-import org.apache.activemq.JmsMultipleBrokersTestSupport.BrokerItem;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.broker.TransportConnector;
import org.apache.activemq.network.DiscoveryNetworkConnector;
@@ -136,7 +135,7 @@ public class BrokerQueueNetworkWithDisco
@Override
- protected NetworkConnector bridgeBrokers(BrokerService localBroker, BrokerService remoteBroker, boolean dynamicOnly, int networkTTL, boolean conduit) throws Exception {
+ protected NetworkConnector bridgeBrokers(BrokerService localBroker, BrokerService remoteBroker, boolean dynamicOnly, int networkTTL, boolean conduit, boolean failover) throws Exception {
List<TransportConnector> transportConnectors = remoteBroker.getTransportConnectors();
URI remoteURI;
if (!transportConnectors.isEmpty()) {
Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/MulticastDiscoveryOnFaultyNetworkTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/MulticastDiscoveryOnFaultyNetworkTest.java?rev=999816&r1=999815&r2=999816&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/MulticastDiscoveryOnFaultyNetworkTest.java (original)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/MulticastDiscoveryOnFaultyNetworkTest.java Wed Sep 22 08:50:54 2010
@@ -26,13 +26,11 @@ import javax.jms.TextMessage;
import junit.framework.Test;
import org.apache.activemq.JmsMultipleBrokersTestSupport;
-import org.apache.activemq.JmsMultipleBrokersTestSupport.BrokerItem;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.broker.TransportConnector;
import org.apache.activemq.network.DiscoveryNetworkConnector;
import org.apache.activemq.network.NetworkConnector;
import org.apache.activemq.util.MessageIdList;
-import org.apache.activemq.util.SocketProxy;
public class MulticastDiscoveryOnFaultyNetworkTest extends JmsMultipleBrokersTestSupport {
@@ -111,7 +109,7 @@ public class MulticastDiscoveryOnFaultyN
@Override
- protected NetworkConnector bridgeBrokers(BrokerService localBroker, BrokerService remoteBroker, boolean dynamicOnly, int networkTTL, boolean conduit) throws Exception {
+ protected NetworkConnector bridgeBrokers(BrokerService localBroker, BrokerService remoteBroker, boolean dynamicOnly, int networkTTL, boolean conduit, boolean failover) throws Exception {
DiscoveryNetworkConnector connector = new DiscoveryNetworkConnector(new URI("multicast://default?group=TESTERIC&useLocalHost=false"));
connector.setDynamicOnly(dynamicOnly);
connector.setNetworkTTL(networkTTL);
Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/ThreeBrokerStompTemporaryQueueTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/ThreeBrokerStompTemporaryQueueTest.java?rev=999816&r1=999815&r2=999816&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/ThreeBrokerStompTemporaryQueueTest.java (original)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/usecases/ThreeBrokerStompTemporaryQueueTest.java Wed Sep 22 08:50:54 2010
@@ -38,7 +38,7 @@ public class ThreeBrokerStompTemporaryQu
private static final Log LOG = LogFactory.getLog(ThreeBrokerStompTemporaryQueueTest.class);
private StompConnection stompConnection;
- protected NetworkConnector bridgeBrokers(BrokerService localBroker, BrokerService remoteBroker, boolean dynamicOnly, int networkTTL, boolean conduit) throws Exception {
+ protected NetworkConnector bridgeBrokers(BrokerService localBroker, BrokerService remoteBroker, boolean dynamicOnly, int networkTTL, boolean conduit, boolean failover) throws Exception {
List<TransportConnector> transportConnectors = remoteBroker.getTransportConnectors();
URI remoteURI;
if (!transportConnectors.isEmpty()) {