You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by da...@apache.org on 2012/09/12 11:12:03 UTC
svn commit: r1383860 -
/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/ActiveMQXAConnectionFactoryTest.java
Author: davsclaus
Date: Wed Sep 12 09:12:02 2012
New Revision: 1383860
URL: http://svn.apache.org/viewvc?rev=1383860&view=rev
Log:
Fixing test on CI server
Modified:
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/ActiveMQXAConnectionFactoryTest.java
Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/ActiveMQXAConnectionFactoryTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/ActiveMQXAConnectionFactoryTest.java?rev=1383860&r1=1383859&r2=1383860&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/ActiveMQXAConnectionFactoryTest.java (original)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/ActiveMQXAConnectionFactoryTest.java Wed Sep 12 09:12:02 2012
@@ -56,6 +56,21 @@ import org.slf4j.LoggerFactory;
public class ActiveMQXAConnectionFactoryTest extends CombinationTestSupport {
private static final Logger LOG = LoggerFactory.getLogger(ActiveMQXAConnectionFactoryTest.class);
long txGenerator = System.currentTimeMillis();
+ private ActiveMQConnection connection;
+ private BrokerService broker;
+
+ protected void tearDown() throws Exception {
+ // Try our best to close any previously opend connection.
+ try {
+ connection.close();
+ } catch (Throwable ignore) {
+ }
+ // Try our best to stop any previously started broker.
+ try {
+ broker.stop();
+ } catch (Throwable ignore) {
+ }
+ }
public void testCopy() throws URISyntaxException, JMSException {
ActiveMQXAConnectionFactory cf = new ActiveMQXAConnectionFactory("vm://localhost?");
@@ -97,25 +112,25 @@ public class ActiveMQXAConnectionFactory
}
public void testCreateVMConnectionWithEmbdeddBroker() throws URISyntaxException, JMSException {
- ActiveMQXAConnectionFactory cf = new ActiveMQXAConnectionFactory(
- "vm://localhost?broker.persistent=false");
+ ActiveMQXAConnectionFactory cf = new ActiveMQXAConnectionFactory("vm://myBroker?broker.persistent=false");
// Make sure the broker is not created until the connection is
// instantiated.
- assertNull(BrokerRegistry.getInstance().lookup("localhost"));
- Connection connection = cf.createConnection();
+ assertNull(BrokerRegistry.getInstance().lookup("myBroker"));
+ connection = (ActiveMQConnection) cf.createConnection();
// This should create the connection.
assertNotNull(connection);
// Verify the broker was created.
- assertNotNull(BrokerRegistry.getInstance().lookup("localhost"));
+ assertNotNull(BrokerRegistry.getInstance().lookup("myBroker"));
connection.close();
// Verify the broker was destroyed.
- assertNull(BrokerRegistry.getInstance().lookup("localhost"));
+ assertNull(BrokerRegistry.getInstance().lookup("myBroker"));
+
+ connection.close();
}
public void testGetBrokerName() throws URISyntaxException, JMSException {
- ActiveMQXAConnectionFactory cf = new ActiveMQXAConnectionFactory(
- "vm://localhost?broker.persistent=false");
- ActiveMQConnection connection = (ActiveMQConnection)cf.createConnection();
+ ActiveMQXAConnectionFactory cf = new ActiveMQXAConnectionFactory("vm://localhost?broker.persistent=false");
+ connection = (ActiveMQConnection)cf.createConnection();
connection.start();
String brokerName = connection.getBrokerName();
@@ -135,52 +150,83 @@ public class ActiveMQXAConnectionFactory
public void testIsSameRM() throws URISyntaxException, JMSException, XAException {
- ActiveMQXAConnectionFactory cf1 = new ActiveMQXAConnectionFactory("vm://localhost?broker.persistent=false");
- XAConnection connection1 = (XAConnection)cf1.createConnection();
- XASession session1 = connection1.createXASession();
- XAResource resource1 = session1.getXAResource();
-
- ActiveMQXAConnectionFactory cf2 = new ActiveMQXAConnectionFactory("vm://localhost?broker.persistent=false");
- XAConnection connection2 = (XAConnection)cf2.createConnection();
- XASession session2 = connection2.createXASession();
- XAResource resource2 = session2.getXAResource();
-
- assertTrue(resource1.isSameRM(resource2));
-
- connection1.close();
- connection2.close();
+ XAConnection connection1 = null;
+ XAConnection connection2 = null;
+ try {
+ ActiveMQXAConnectionFactory cf1 = new ActiveMQXAConnectionFactory("vm://localhost?broker.persistent=false");
+ connection1 = (XAConnection)cf1.createConnection();
+ XASession session1 = connection1.createXASession();
+ XAResource resource1 = session1.getXAResource();
+
+ ActiveMQXAConnectionFactory cf2 = new ActiveMQXAConnectionFactory("vm://localhost?broker.persistent=false");
+ connection2 = (XAConnection)cf2.createConnection();
+ XASession session2 = connection2.createXASession();
+ XAResource resource2 = session2.getXAResource();
+
+ assertTrue(resource1.isSameRM(resource2));
+ session1.close();
+ session2.close();
+ } finally {
+ if (connection1 != null) {
+ try {
+ connection1.close();
+ } catch (Exception e) {
+ // ignore
+ }
+ }
+ if (connection2 != null) {
+ try {
+ connection2.close();
+ } catch (Exception e) {
+ // ignore
+ }
+ }
+ }
}
public void testVanilaTransactionalProduceReceive() throws Exception {
- ActiveMQXAConnectionFactory cf1 = new ActiveMQXAConnectionFactory("vm://localhost?broker.persistent=false");
- XAConnection connection1 = (XAConnection)cf1.createConnection();
- connection1.start();
- XASession session = connection1.createXASession();
- XAResource resource = session.getXAResource();
- Destination dest = new ActiveMQQueue(getName());
-
- // publish a message
- Xid tid = createXid();
- resource.start(tid, XAResource.TMNOFLAGS);
- MessageProducer producer = session.createProducer(dest);
- ActiveMQTextMessage message = new ActiveMQTextMessage();
- message.setText(getName());
- producer.send(message);
- resource.end(tid, XAResource.TMSUCCESS);
- resource.commit(tid, true);
- session.close();
+ XAConnection connection1 = null;
+ try {
+ ActiveMQXAConnectionFactory cf1 = new ActiveMQXAConnectionFactory("vm://localhost?broker.persistent=false");
+ connection1 = (XAConnection)cf1.createConnection();
+ connection1.start();
+ XASession session = connection1.createXASession();
+ XAResource resource = session.getXAResource();
+ Destination dest = new ActiveMQQueue(getName());
+
+ // publish a message
+ Xid tid = createXid();
+ resource.start(tid, XAResource.TMNOFLAGS);
+ MessageProducer producer = session.createProducer(dest);
+ ActiveMQTextMessage message = new ActiveMQTextMessage();
+ message.setText(getName());
+ producer.send(message);
+ resource.end(tid, XAResource.TMSUCCESS);
+ resource.commit(tid, true);
+ session.close();
+
+ session = connection1.createXASession();
+ MessageConsumer consumer = session.createConsumer(dest);
+ tid = createXid();
+ resource = session.getXAResource();
+ resource.start(tid, XAResource.TMNOFLAGS);
+ TextMessage receivedMessage = (TextMessage) consumer.receive(1000);
+ assertNotNull(receivedMessage);
+ assertEquals(getName(), receivedMessage.getText());
+ resource.end(tid, XAResource.TMSUCCESS);
+ resource.commit(tid, true);
+ session.close();
- session = connection1.createXASession();
- MessageConsumer consumer = session.createConsumer(dest);
- tid = createXid();
- resource = session.getXAResource();
- resource.start(tid, XAResource.TMNOFLAGS);
- TextMessage receivedMessage = (TextMessage) consumer.receive(1000);
- assertNotNull(receivedMessage);
- assertEquals(getName(), receivedMessage.getText());
- resource.end(tid, XAResource.TMSUCCESS);
- resource.commit(tid, true);
+ } finally {
+ if (connection1 != null) {
+ try {
+ connection1.close();
+ } catch (Exception e) {
+ // ignore
+ }
+ }
+ }
}
public void testConsumerCloseTransactionalSendReceive() throws Exception {
@@ -382,7 +428,7 @@ public class ActiveMQXAConnectionFactory
protected void assertCreateConnection(String uri) throws Exception {
// Start up a broker with a tcp connector.
- BrokerService broker = new BrokerService();
+ broker = new BrokerService();
broker.setPersistent(false);
TransportConnector connector = broker.addConnector(uri);
broker.start();