You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jl...@apache.org on 2011/07/25 14:47:30 UTC

svn commit: r1150672 - in /openejb/trunk/openejb3/container: openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/ openejb-activemq4/src/test/java/org/apache/openejb/resource/activemq/ openejb-activemq4/src/test/java/org/apache/openejb/util/ ope...

Author: jlmonteiro
Date: Mon Jul 25 12:47:25 2011
New Revision: 1150672

URL: http://svn.apache.org/viewvc?rev=1150672&view=rev
Log:
Seconde shoot hacking activemq default port.

Added:
    openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/util/
    openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/util/NetworkUtil.java
      - copied unchanged from r1148797, openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java
Modified:
    openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/JmsProxyTest.java
    openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/JmsTest.java
    openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/MdbTest.java
    openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/SimpleJmsTest.java
    openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapterTest.java
    openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/resource/activemq/OpenEjbBrokerFactoryTest.java
    openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsProxyTest.java
    openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsTest.java
    openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MdbTest.java
    openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/SimpleJmsTest.java
    openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapterTest.java
    openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/OpenEjbBrokerFactoryTest.java
    openejb/trunk/openejb3/container/openejb-core/src/test/resources/org/apache/openejb/core/mdb/activemq.xml

Modified: openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/JmsProxyTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/JmsProxyTest.java?rev=1150672&r1=1150671&r2=1150672&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/JmsProxyTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/JmsProxyTest.java Mon Jul 25 12:47:25 2011
@@ -17,78 +17,12 @@
  */
 package org.apache.openejb.core.mdb;
 
-import java.util.Collections;
-import java.util.concurrent.Executor;
-import java.util.concurrent.Executors;
 import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
 import javax.jms.Destination;
 import javax.jms.MessageConsumer;
 import javax.jms.Session;
-import javax.resource.spi.BootstrapContext;
-import javax.resource.spi.ResourceAdapterInternalException;
-import javax.resource.spi.work.WorkManager;
-
-import junit.framework.TestCase;
-import org.apache.activemq.ActiveMQConnectionFactory;
-import org.apache.geronimo.connector.GeronimoBootstrapContext;
-import org.apache.geronimo.connector.work.GeronimoWorkManager;
-import org.apache.geronimo.connector.work.TransactionContextHandler;
-import org.apache.geronimo.connector.work.WorkContextHandler;
-import org.apache.geronimo.transaction.manager.GeronimoTransactionManager;
-import org.apache.openejb.OpenEJBException;
-import org.apache.openejb.resource.activemq.ActiveMQResourceAdapter;
-
-public class JmsProxyTest extends TestCase {
-    private static final String REQUEST_QUEUE_NAME = "request";
-    private ConnectionFactory connectionFactory;
-    private ActiveMQResourceAdapter ra;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        // create a transaction manager
-        GeronimoTransactionManager transactionManager = new GeronimoTransactionManager();
-
-        // create the ActiveMQ resource adapter instance
-        ra = new ActiveMQResourceAdapter();
-
-        // initialize properties
-        ra.setServerUrl("tcp://localhost:61616");
-        ra.setBrokerXmlConfig(getBrokerXmlConfig());
-
-        // create a thead pool for ActiveMQ
-        Executor threadPool = Executors.newFixedThreadPool(30);
-
-        // create a work manager which ActiveMQ uses to dispatch message delivery jobs
-        TransactionContextHandler txWorkContextHandler = new TransactionContextHandler(transactionManager);
-        GeronimoWorkManager workManager = new GeronimoWorkManager(threadPool, threadPool, threadPool, Collections.<WorkContextHandler>singletonList(txWorkContextHandler));
-
-        // wrap the work mananger and transaction manager in a bootstrap context (connector spec thing)
-        BootstrapContext bootstrapContext = new GeronimoBootstrapContext(workManager, transactionManager, transactionManager);
-
-        // start the resource adapter
-        try {
-            ra.start(bootstrapContext);
-        } catch (ResourceAdapterInternalException e) {
-            throw new OpenEJBException(e);
-        }
-        // Create a ConnectionFactory
-        connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
-    }
-
-    protected String getBrokerXmlConfig() {
-        return "broker:(tcp://localhost:61616)?useJmx=false";
-    }
 
-    protected void tearDown() throws Exception {
-        connectionFactory = null;
-        if (ra != null) {
-            ra.stop();
-            ra = null;
-        }
-        super.tearDown();
-    }
+public class JmsProxyTest extends JmsTest {
 
     public void testProxy() throws Exception {
         // create reciever object

Modified: openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/JmsTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/JmsTest.java?rev=1150672&r1=1150671&r2=1150672&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/JmsTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/JmsTest.java Mon Jul 25 12:47:25 2011
@@ -17,12 +17,17 @@
  */
 package org.apache.openejb.core.mdb;
 
-import java.io.Serializable;
-import java.util.Collections;
-import java.util.Map;
-import java.util.TreeMap;
-import java.util.concurrent.Executor;
-import java.util.concurrent.Executors;
+import junit.framework.TestCase;
+import org.apache.activemq.ActiveMQConnectionFactory;
+import org.apache.geronimo.connector.GeronimoBootstrapContext;
+import org.apache.geronimo.connector.work.GeronimoWorkManager;
+import org.apache.geronimo.connector.work.TransactionContextHandler;
+import org.apache.geronimo.connector.work.WorkContextHandler;
+import org.apache.geronimo.transaction.manager.GeronimoTransactionManager;
+import org.apache.openejb.OpenEJBException;
+import org.apache.openejb.resource.activemq.ActiveMQResourceAdapter;
+import org.apache.openejb.util.NetworkUtil;
+
 import javax.jms.Connection;
 import javax.jms.ConnectionFactory;
 import javax.jms.Destination;
@@ -35,22 +40,19 @@ import javax.jms.ObjectMessage;
 import javax.jms.Session;
 import javax.resource.spi.BootstrapContext;
 import javax.resource.spi.ResourceAdapterInternalException;
-import javax.resource.spi.work.WorkManager;
-
-import junit.framework.TestCase;
-import org.apache.activemq.ActiveMQConnectionFactory;
-import org.apache.geronimo.connector.GeronimoBootstrapContext;
-import org.apache.geronimo.connector.work.GeronimoWorkManager;
-import org.apache.geronimo.connector.work.TransactionContextHandler;
-import org.apache.geronimo.connector.work.WorkContextHandler;
-import org.apache.geronimo.transaction.manager.GeronimoTransactionManager;
-import org.apache.openejb.OpenEJBException;
-import org.apache.openejb.resource.activemq.ActiveMQResourceAdapter;
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
 
 public class JmsTest extends TestCase {
-    private ConnectionFactory connectionFactory;
-    private static final String REQUEST_QUEUE_NAME = "request";
-    private ActiveMQResourceAdapter ra;
+    protected static final String REQUEST_QUEUE_NAME = "request";
+    protected ConnectionFactory connectionFactory;
+    protected ActiveMQResourceAdapter ra;
+    protected String brokerAddress = NetworkUtil.getLocalAddress("tcp://", "");
+    protected String brokerXmlConfig = "broker:(" + brokerAddress + ")?useJmx=false";
 
     protected void setUp() throws Exception {
         super.setUp();
@@ -62,8 +64,8 @@ public class JmsTest extends TestCase {
         ra = new ActiveMQResourceAdapter();
 
         // initialize properties
-        ra.setServerUrl("tcp://localhost:61616");
-        ra.setBrokerXmlConfig("broker:(tcp://localhost:61616)?useJmx=false");
+        ra.setServerUrl(brokerAddress);
+        ra.setBrokerXmlConfig(brokerXmlConfig);
 
 
         // create a thead pool for ActiveMQ
@@ -83,7 +85,7 @@ public class JmsTest extends TestCase {
             throw new OpenEJBException(e);
         }
         // Create a ConnectionFactory
-        connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
+        connectionFactory = new ActiveMQConnectionFactory(brokerAddress);
     }
 
     protected void tearDown() throws Exception {
@@ -155,7 +157,7 @@ public class JmsTest extends TestCase {
         }
     }
 
-    
+
     private Destination createListener(Connection connection) throws JMSException {
         final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
 

Modified: openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/MdbTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/MdbTest.java?rev=1150672&r1=1150671&r2=1150672&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/MdbTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/MdbTest.java Mon Jul 25 12:47:25 2011
@@ -17,13 +17,9 @@
  */
 package org.apache.openejb.core.mdb;
 
-import java.io.Serializable;
-import java.lang.reflect.Method;
-import java.util.Collections;
-import java.util.Map;
-import java.util.TreeMap;
-import java.util.concurrent.Executor;
-import java.util.concurrent.Executors;
+import org.apache.activemq.ActiveMQConnectionFactory;
+import org.apache.activemq.ra.ActiveMQActivationSpec;
+
 import javax.jms.Connection;
 import javax.jms.ConnectionFactory;
 import javax.jms.Destination;
@@ -35,71 +31,16 @@ import javax.jms.MessageProducer;
 import javax.jms.ObjectMessage;
 import javax.jms.Session;
 import javax.resource.ResourceException;
-import javax.resource.spi.BootstrapContext;
-import javax.resource.spi.ResourceAdapterInternalException;
 import javax.resource.spi.UnavailableException;
 import javax.resource.spi.endpoint.MessageEndpoint;
 import javax.resource.spi.endpoint.MessageEndpointFactory;
-import javax.resource.spi.work.WorkManager;
 import javax.transaction.xa.XAResource;
+import java.io.Serializable;
+import java.lang.reflect.Method;
+import java.util.Map;
+import java.util.TreeMap;
 
-import junit.framework.TestCase;
-import org.apache.activemq.ActiveMQConnectionFactory;
-import org.apache.activemq.ra.ActiveMQActivationSpec;
-import org.apache.geronimo.connector.GeronimoBootstrapContext;
-import org.apache.geronimo.connector.work.GeronimoWorkManager;
-import org.apache.geronimo.connector.work.TransactionContextHandler;
-import org.apache.geronimo.connector.work.WorkContextHandler;
-import org.apache.geronimo.transaction.manager.GeronimoTransactionManager;
-import org.apache.openejb.OpenEJBException;
-import org.apache.openejb.resource.activemq.ActiveMQResourceAdapter;
-
-public class MdbTest extends TestCase {
-    private static final String REQUEST_QUEUE_NAME = "request";
-    private ConnectionFactory connectionFactory;
-    private ActiveMQResourceAdapter ra;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        // create a transaction manager
-        GeronimoTransactionManager transactionManager = new GeronimoTransactionManager();
-
-        // create the ActiveMQ resource adapter instance
-        ra = new ActiveMQResourceAdapter();
-
-        // initialize properties
-        ra.setServerUrl("tcp://localhost:61616");
-        ra.setBrokerXmlConfig("broker:(tcp://localhost:61616)?useJmx=false");
-
-        // create a thead pool for ActiveMQ
-        Executor threadPool = Executors.newFixedThreadPool(30);
-
-        // create a work manager which ActiveMQ uses to dispatch message delivery jobs
-        TransactionContextHandler txWorkContextHandler = new TransactionContextHandler(transactionManager);
-        GeronimoWorkManager workManager = new GeronimoWorkManager(threadPool, threadPool, threadPool, Collections.<WorkContextHandler>singletonList(txWorkContextHandler));
-
-        // wrap the work mananger and transaction manager in a bootstrap context (connector spec thing)
-        BootstrapContext bootstrapContext = new GeronimoBootstrapContext(workManager, transactionManager, transactionManager);
-
-        // start the resource adapter
-        try {
-            ra.start(bootstrapContext);
-        } catch (ResourceAdapterInternalException e) {
-            throw new OpenEJBException(e);
-        }
-        // Create a ConnectionFactory
-        connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
-    }
-
-    protected void tearDown() throws Exception {
-        connectionFactory = null;
-        if (ra != null) {
-            ra.stop();
-            ra = null;
-        }
-        super.tearDown();
-    }
+public class MdbTest extends JmsTest {
 
     public void testProxy() throws Exception {
         createListener();
@@ -115,7 +56,7 @@ public class MdbTest extends TestCase {
             connection = connectionFactory.createConnection();
             connection.start();
 
-           // create request
+            // create request
             Map<String, Object> request = new TreeMap<String, Object>();
             request.put("args", new Object[]{"cheese"});
 
@@ -143,7 +84,7 @@ public class MdbTest extends TestCase {
             Serializable object = responseMessage.getObject();
             assertNotNull("Response ObjectMessage contains a null object");
             assertTrue("Response ObjectMessage does not contain an instance of Map", object instanceof Map);
-            Map response = (Map) object;
+            Map<String, String> response = (Map<String, String>) object;
 
             // process results
             String returnValue = (String) response.get("return");
@@ -175,8 +116,8 @@ public class MdbTest extends TestCase {
         ra.endpointActivation(endpointFactory, activationSpec);
     }
 
-    public static class JmsEndpointFactory implements MessageEndpointFactory {
-        private final ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
+    public class JmsEndpointFactory implements MessageEndpointFactory {
+        private final ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(brokerAddress);
 
         public MessageEndpoint createEndpoint(XAResource xaResource) throws UnavailableException {
             try {
@@ -186,10 +127,11 @@ public class MdbTest extends TestCase {
                 throw new UnavailableException(e);
             }
         }
-        
+
         public MessageEndpoint createEndpoint(XAResource xaResource, long timeout) throws UnavailableException {
             return createEndpoint(xaResource);
         }
+
         public boolean isDeliveryTransacted(Method method) throws NoSuchMethodException {
             return false;
         }
@@ -213,7 +155,7 @@ public class MdbTest extends TestCase {
             try {
                 // process request
                 ObjectMessage requestMessage = (ObjectMessage) message;
-                Map request = (Map) requestMessage.getObject();
+                Map<String, Object[]> request = (Map<String, Object[]>) requestMessage.getObject();
                 Object[] args = (Object[]) request.get("args");
                 String returnValue = "test-" + args[0];
 

Modified: openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/SimpleJmsTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/SimpleJmsTest.java?rev=1150672&r1=1150671&r2=1150672&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/SimpleJmsTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/core/mdb/SimpleJmsTest.java Mon Jul 25 12:47:25 2011
@@ -17,74 +17,12 @@
  */
 package org.apache.openejb.core.mdb;
 
-import java.util.Collections;
-import java.util.concurrent.Executor;
-import java.util.concurrent.Executors;
 import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
 import javax.jms.Destination;
 import javax.jms.MessageConsumer;
 import javax.jms.Session;
-import javax.resource.spi.BootstrapContext;
-import javax.resource.spi.ResourceAdapterInternalException;
-import javax.resource.spi.work.WorkManager;
-
-import junit.framework.TestCase;
-import org.apache.activemq.ActiveMQConnectionFactory;
-import org.apache.geronimo.connector.GeronimoBootstrapContext;
-import org.apache.geronimo.connector.work.GeronimoWorkManager;
-import org.apache.geronimo.connector.work.TransactionContextHandler;
-import org.apache.geronimo.connector.work.WorkContextHandler;
-import org.apache.geronimo.transaction.manager.GeronimoTransactionManager;
-import org.apache.openejb.OpenEJBException;
-import org.apache.openejb.resource.activemq.ActiveMQResourceAdapter;
-
-public class SimpleJmsTest extends TestCase {
-    private static final String REQUEST_QUEUE_NAME = "request";
-    private ConnectionFactory connectionFactory;
-    private ActiveMQResourceAdapter ra;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        // create a transaction manager
-        GeronimoTransactionManager transactionManager = new GeronimoTransactionManager();
-
-        // create the ActiveMQ resource adapter instance
-        ra = new ActiveMQResourceAdapter();
-
-        // initialize properties
-        ra.setServerUrl("vm://localhost?async=true");
-        ra.setBrokerXmlConfig("broker:(tcp://localhost:61616)?useJmx=false");
-
-        // create a thead pool for ActiveMQ
-        Executor threadPool = Executors.newFixedThreadPool(30);
-
-        // create a work manager which ActiveMQ uses to dispatch message delivery jobs
-        TransactionContextHandler txWorkContextHandler = new TransactionContextHandler(transactionManager);
-        GeronimoWorkManager workManager = new GeronimoWorkManager(threadPool, threadPool, threadPool, Collections.<WorkContextHandler>singletonList(txWorkContextHandler));
-
-        // wrap the work mananger and transaction manager in a bootstrap context (connector spec thing)
-        BootstrapContext bootstrapContext = new GeronimoBootstrapContext(workManager, transactionManager, transactionManager);
-
-        // start the resource adapter
-        try {
-            ra.start(bootstrapContext);
-        } catch (ResourceAdapterInternalException e) {
-            throw new OpenEJBException(e);
-        }
-        // Create a ConnectionFactory
-        connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
-    }
 
-    protected void tearDown() throws Exception {
-        connectionFactory = null;
-        if (ra != null) {
-            ra.stop();
-            ra = null;
-        }
-        super.tearDown();
-    }
+public class SimpleJmsTest extends JmsTest {
 
     public void testProxy() throws Exception {
         // create reciever object

Modified: openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapterTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapterTest.java?rev=1150672&r1=1150671&r2=1150672&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapterTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapterTest.java Mon Jul 25 12:47:25 2011
@@ -18,12 +18,15 @@
 package org.apache.openejb.resource.activemq;
 
 import junit.framework.TestCase;
+import org.apache.openejb.util.NetworkUtil;
 
 public class ActiveMQResourceAdapterTest extends TestCase {
     public void test() throws Exception {
         ActiveMQResourceAdapter resourceAdapter = new ActiveMQResourceAdapter();
         resourceAdapter.setServerUrl("vm://localhost?async=true");
-        resourceAdapter.setBrokerXmlConfig("broker:(tcp://localhost:61616)?useJmx=false");
+
+        String brokerAddress = NetworkUtil.getLocalAddress("broker:(tcp://", ")?useJmx=false");
+        resourceAdapter.setBrokerXmlConfig(brokerAddress);
 
         //    DataSource Default Unmanaged JDBC Database
         //

Modified: openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/resource/activemq/OpenEjbBrokerFactoryTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/resource/activemq/OpenEjbBrokerFactoryTest.java?rev=1150672&r1=1150671&r2=1150672&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/resource/activemq/OpenEjbBrokerFactoryTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-activemq4/src/test/java/org/apache/openejb/resource/activemq/OpenEjbBrokerFactoryTest.java Mon Jul 25 12:47:25 2011
@@ -17,18 +17,6 @@
  */
 package org.apache.openejb.resource.activemq;
 
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Collections;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.Properties;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.naming.spi.InitialContextFactory;
-import javax.sql.DataSource;
-
 import junit.framework.TestCase;
 import org.apache.activemq.broker.BrokerFactory;
 import org.apache.activemq.broker.BrokerService;
@@ -37,45 +25,59 @@ import org.apache.activemq.network.jms.J
 import org.apache.activemq.store.PersistenceAdapter;
 import org.apache.activemq.store.jdbc.JDBCPersistenceAdapter;
 import org.apache.activemq.store.memory.MemoryPersistenceAdapter;
-import org.apache.openejb.util.URISupport;
 import org.apache.openejb.core.CoreContainerSystem;
 import org.apache.openejb.core.ivm.naming.IvmJndiFactory;
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.spi.ContainerSystem;
+import org.apache.openejb.util.NetworkUtil;
+import org.apache.openejb.util.URISupport;
 import org.apache.xbean.naming.context.ImmutableContext;
 import org.hsqldb.jdbc.jdbcDataSource;
 
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.naming.spi.InitialContextFactory;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Collections;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Properties;
+
 public class OpenEjbBrokerFactoryTest extends TestCase {
+    private int brokerPort = NetworkUtil.getNextAvailablePort(new int[]{61616, 0});
+
     public void testBrokerUri() throws Exception {
-        final  String prefix = ActiveMQFactory.getBrokerMetaFile();
-        assertEquals(prefix + "broker:(tcp://localhost:61616)?persistent=false",
-                getBrokerUri("broker:(tcp://localhost:61616)"));
-        assertEquals(prefix + "broker:(tcp://localhost:61616)?useJmx=false&persistent=false",
-                getBrokerUri("broker:(tcp://localhost:61616)?useJmx=false"));
-        assertEquals(prefix + "broker:(tcp://localhost:61616)?useJmx=false&persistent=false",
-                getBrokerUri("broker:(tcp://localhost:61616)?useJmx=false&persistent=true"));
-        assertEquals(prefix + "broker:(tcp://localhost:61616)?useJmx=false&persistent=false",
-                getBrokerUri("broker:(tcp://localhost:61616)?useJmx=false&persistent=false"));
+        final String prefix = ActiveMQFactory.getBrokerMetaFile();
+        assertEquals(prefix + "broker:(tcp://localhost:" + brokerPort + ")?persistent=false",
+                getBrokerUri("broker:(tcp://localhost:" + brokerPort + ")"));
+        assertEquals(prefix + "broker:(tcp://localhost:" + brokerPort + ")?useJmx=false&persistent=false",
+                getBrokerUri("broker:(tcp://localhost:" + brokerPort + ")?useJmx=false"));
+        assertEquals(prefix + "broker:(tcp://localhost:" + brokerPort + ")?useJmx=false&persistent=false",
+                getBrokerUri("broker:(tcp://localhost:" + brokerPort + ")?useJmx=false&persistent=true"));
+        assertEquals(prefix + "broker:(tcp://localhost:" + brokerPort + ")?useJmx=false&persistent=false",
+                getBrokerUri("broker:(tcp://localhost:" + brokerPort + ")?useJmx=false&persistent=false"));
     }
 
     private String getBrokerUri(String brokerUri) throws URISyntaxException {
-        URISupport.CompositeData compositeData = URISupport.parseComposite(new URI(brokerUri));
+        final URISupport.CompositeData compositeData = URISupport.parseComposite(new URI(brokerUri));
         compositeData.getParameters().put("persistent", "false");
         return ActiveMQFactory.getBrokerMetaFile() + compositeData.toURI();
     }
 
     public void testBrokerDoubleCreate() throws Exception {
-        BrokerService broker = BrokerFactory.createBroker(new URI(getBrokerUri( "broker:(tcp://localhost:61616)?useJmx=false")));
+        BrokerService broker = BrokerFactory.createBroker(new URI(getBrokerUri("broker:(tcp://localhost:" + brokerPort + ")?useJmx=false")));
         stopBroker(broker);
 
-        broker = BrokerFactory.createBroker(new URI(getBrokerUri("broker:(tcp://localhost:61616)?useJmx=false")));
+        broker = BrokerFactory.createBroker(new URI(getBrokerUri("broker:(tcp://localhost:" + brokerPort + ")?useJmx=false")));
         stopBroker(broker);
 
     }
 
     public void testNoDataSource() throws Exception {
         BrokerService broker = BrokerFactory.createBroker(new URI(getBrokerUri(
-                "broker:(tcp://localhost:61616)?useJmx=false")));
+                "broker:(tcp://localhost:" + brokerPort + ")?useJmx=false")));
         assertNotNull("broker is null", broker);
 
         PersistenceAdapter persistenceAdapter = broker.getPersistenceAdapter();
@@ -88,16 +90,23 @@ public class OpenEjbBrokerFactoryTest ex
     }
 
     public void testDirectDataSource() throws Exception {
-        Properties properties = new Properties();
 
-        DataSource dataSource = new jdbcDataSource();
+        final Properties properties = new Properties();
+
+        final jdbcDataSource dataSource = new jdbcDataSource();
+        dataSource.setDatabase("jdbc:hsqldb:mem:testdb" + System.currentTimeMillis());
+        dataSource.setUser("sa");
+        dataSource.setPassword("");
+        dataSource.getConnection().close();
+
         properties.put("DataSource", dataSource);
+        properties.put("UseDatabaseLock", "false");
 
         ActiveMQFactory.setThreadProperties(properties);
         BrokerService broker = null;
         try {
             broker = BrokerFactory.createBroker(new URI(getBrokerUri(
-                    "broker:(tcp://localhost:61616)?useJmx=false")));
+                    "broker:(tcp://localhost:" + brokerPort + ")?useJmx=false")));
             assertNotNull("broker is null", broker);
 
             PersistenceAdapter persistenceAdapter = broker.getPersistenceAdapter();
@@ -115,23 +124,30 @@ public class OpenEjbBrokerFactoryTest ex
     }
 
     public void testLookupDataSource() throws Exception {
-        Properties properties = new Properties();
 
-        DataSource dataSource = new jdbcDataSource();
+        final Properties properties = new Properties();
+
+        final jdbcDataSource dataSource = new jdbcDataSource();
+        dataSource.setDatabase("jdbc:hsqldb:mem:testdb" + System.currentTimeMillis());
+        dataSource.setUser("sa");
+        dataSource.setPassword("");
+        dataSource.getConnection().close();
+
         MockInitialContextFactory.install(Collections.singletonMap("openejb/Resource/TestDs", dataSource));
         assertSame(dataSource, new InitialContext().lookup("openejb/Resource/TestDs"));
 
-        CoreContainerSystem containerSystem = new CoreContainerSystem(new IvmJndiFactory());
+        final CoreContainerSystem containerSystem = new CoreContainerSystem(new IvmJndiFactory());
         containerSystem.getJNDIContext().bind("openejb/Resource/TestDs", dataSource);
         SystemInstance.get().setComponent(ContainerSystem.class, containerSystem);
 
         properties.put("DataSource", "TestDs");
+        properties.put("UseDatabaseLock", "false");
 
         ActiveMQFactory.setThreadProperties(properties);
         BrokerService broker = null;
         try {
             broker = BrokerFactory.createBroker(new URI(getBrokerUri(
-                    "broker:(tcp://localhost:61616)?useJmx=false")));
+                    "broker:(tcp://localhost:" + brokerPort + ")?useJmx=false")));
             assertNotNull("broker is null", broker);
 
             PersistenceAdapter persistenceAdapter = broker.getPersistenceAdapter();
@@ -157,7 +173,7 @@ public class OpenEjbBrokerFactoryTest ex
             new InitialContext();
         }
 
-        public Context getInitialContext(Hashtable<?, ?> environment) throws NamingException {
+        public Context getInitialContext(final Hashtable<?, ?> environment) throws NamingException {
             return immutableContext;
         }
     }

Modified: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsProxyTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsProxyTest.java?rev=1150672&r1=1150671&r2=1150672&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsProxyTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsProxyTest.java Mon Jul 25 12:47:25 2011
@@ -39,57 +39,7 @@ import org.apache.geronimo.transaction.m
 import org.apache.openejb.OpenEJBException;
 import org.apache.openejb.resource.activemq.ActiveMQResourceAdapter;
 
-public class JmsProxyTest extends TestCase {
-    private static final String REQUEST_QUEUE_NAME = "request";
-    private ConnectionFactory connectionFactory;
-    private ActiveMQResourceAdapter ra;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        // create a transaction manager
-        GeronimoTransactionManager transactionManager = new GeronimoTransactionManager();
-
-        // create the ActiveMQ resource adapter instance
-        ra = new ActiveMQResourceAdapter();
-
-        // initialize properties
-        ra.setServerUrl("tcp://localhost:61616");
-        ra.setBrokerXmlConfig(getBrokerXmlConfig());
-
-        // create a thead pool for ActiveMQ
-        Executor threadPool = Executors.newFixedThreadPool(30);
-
-        // create a work manager which ActiveMQ uses to dispatch message delivery jobs
-        
-        TransactionContextHandler txWorkContextHandler = new TransactionContextHandler(transactionManager);
-        GeronimoWorkManager workManager = new GeronimoWorkManager(threadPool, threadPool, threadPool, Collections.<WorkContextHandler>singletonList(txWorkContextHandler));
-
-        // wrap the work mananger and transaction manager in a bootstrap context (connector spec thing)
-        BootstrapContext bootstrapContext = new GeronimoBootstrapContext(workManager, transactionManager, transactionManager);
-
-        // start the resource adapter
-        try {
-            ra.start(bootstrapContext);
-        } catch (ResourceAdapterInternalException e) {
-            throw new OpenEJBException(e);
-        }
-        // Create a ConnectionFactory
-        connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
-    }
-
-    protected String getBrokerXmlConfig() {
-        return "broker:(tcp://localhost:61616)?useJmx=false";
-    }
-
-    protected void tearDown() throws Exception {
-        connectionFactory = null;
-        if (ra != null) {
-            ra.stop();
-            ra = null;
-        }
-        super.tearDown();
-    }
+public class JmsProxyTest extends JmsTest {
 
     public void testProxy() throws Exception {
         // create reciever object

Modified: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsTest.java?rev=1150672&r1=1150671&r2=1150672&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsTest.java Mon Jul 25 12:47:25 2011
@@ -46,11 +46,14 @@ import org.apache.geronimo.connector.wor
 import org.apache.geronimo.transaction.manager.GeronimoTransactionManager;
 import org.apache.openejb.OpenEJBException;
 import org.apache.openejb.resource.activemq.ActiveMQResourceAdapter;
+import org.apache.openejb.util.NetworkUtil;
 
 public class JmsTest extends TestCase {
-    private ConnectionFactory connectionFactory;
-    private static final String REQUEST_QUEUE_NAME = "request";
-    private ActiveMQResourceAdapter ra;
+    protected static final String REQUEST_QUEUE_NAME = "request";
+    protected ConnectionFactory connectionFactory;
+    protected ActiveMQResourceAdapter ra;
+    protected String brokerAddress = NetworkUtil.getLocalAddress("tcp://", "");
+    protected String brokerXmlConfig = "broker:(" + brokerAddress + ")?useJmx=false";
 
     protected void setUp() throws Exception {
         super.setUp();
@@ -62,15 +65,14 @@ public class JmsTest extends TestCase {
         ra = new ActiveMQResourceAdapter();
 
         // initialize properties
-        ra.setServerUrl("tcp://localhost:61616");
-        ra.setBrokerXmlConfig("broker:(tcp://localhost:61616)?useJmx=false");
+        ra.setServerUrl(brokerAddress);
+        ra.setBrokerXmlConfig(brokerXmlConfig);
 
 
         // create a thead pool for ActiveMQ
         Executor threadPool = Executors.newFixedThreadPool(30);
 
         // create a work manager which ActiveMQ uses to dispatch message delivery jobs
-        
         TransactionContextHandler txWorkContextHandler = new TransactionContextHandler(transactionManager);
         GeronimoWorkManager workManager = new GeronimoWorkManager(threadPool, threadPool, threadPool, Collections.<WorkContextHandler>singletonList(txWorkContextHandler));
 
@@ -84,7 +86,7 @@ public class JmsTest extends TestCase {
             throw new OpenEJBException(e);
         }
         // Create a ConnectionFactory
-        connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
+        connectionFactory = new ActiveMQConnectionFactory(brokerAddress);
     }
 
     protected void tearDown() throws Exception {
@@ -156,7 +158,7 @@ public class JmsTest extends TestCase {
         }
     }
 
-    
+
     private Destination createListener(Connection connection) throws JMSException {
         final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
 

Modified: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MdbTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MdbTest.java?rev=1150672&r1=1150671&r2=1150672&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MdbTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MdbTest.java Mon Jul 25 12:47:25 2011
@@ -54,52 +54,7 @@ import org.apache.geronimo.transaction.m
 import org.apache.openejb.OpenEJBException;
 import org.apache.openejb.resource.activemq.ActiveMQResourceAdapter;
 
-public class MdbTest extends TestCase {
-    private static final String REQUEST_QUEUE_NAME = "request";
-    private ConnectionFactory connectionFactory;
-    private ActiveMQResourceAdapter ra;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        // create a transaction manager
-        GeronimoTransactionManager transactionManager = new GeronimoTransactionManager();
-
-        // create the ActiveMQ resource adapter instance
-        ra = new ActiveMQResourceAdapter();
-
-        // initialize properties
-        ra.setServerUrl("tcp://localhost:61616");
-        ra.setBrokerXmlConfig("broker:(tcp://localhost:61616)?useJmx=false");
-
-        // create a thead pool for ActiveMQ
-        Executor threadPool = Executors.newFixedThreadPool(30);
-
-        // create a work manager which ActiveMQ uses to dispatch message delivery jobs
-        TransactionContextHandler txWorkContextHandler = new TransactionContextHandler(transactionManager);
-        GeronimoWorkManager workManager = new GeronimoWorkManager(threadPool, threadPool, threadPool, Collections.<WorkContextHandler>singletonList(txWorkContextHandler));
-
-        // wrap the work mananger and transaction manager in a bootstrap context (connector spec thing)
-        BootstrapContext bootstrapContext = new GeronimoBootstrapContext(workManager, transactionManager, transactionManager);
-
-        // start the resource adapter
-        try {
-            ra.start(bootstrapContext);
-        } catch (ResourceAdapterInternalException e) {
-            throw new OpenEJBException(e);
-        }
-        // Create a ConnectionFactory
-        connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
-    }
-
-    protected void tearDown() throws Exception {
-        connectionFactory = null;
-        if (ra != null) {
-            ra.stop();
-            ra = null;
-        }
-        super.tearDown();
-    }
+public class MdbTest extends JmsTest {
 
     public void testProxy() throws Exception {
         createListener();
@@ -115,7 +70,7 @@ public class MdbTest extends TestCase {
             connection = connectionFactory.createConnection();
             connection.start();
 
-           // create request
+            // create request
             Map<String, Object> request = new TreeMap<String, Object>();
             request.put("args", new Object[]{"cheese"});
 
@@ -143,7 +98,7 @@ public class MdbTest extends TestCase {
             Serializable object = responseMessage.getObject();
             assertNotNull("Response ObjectMessage contains a null object");
             assertTrue("Response ObjectMessage does not contain an instance of Map", object instanceof Map);
-            Map response = (Map) object;
+            Map<String, String> response = (Map<String, String>) object;
 
             // process results
             String returnValue = (String) response.get("return");
@@ -175,8 +130,8 @@ public class MdbTest extends TestCase {
         ra.endpointActivation(endpointFactory, activationSpec);
     }
 
-    public static class JmsEndpointFactory implements MessageEndpointFactory {
-        private final ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
+    public class JmsEndpointFactory implements MessageEndpointFactory {
+        private final ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(brokerAddress);
 
         public MessageEndpoint createEndpoint(XAResource xaResource) throws UnavailableException {
             try {
@@ -186,7 +141,7 @@ public class MdbTest extends TestCase {
                 throw new UnavailableException(e);
             }
         }
-        
+
         public MessageEndpoint createEndpoint(XAResource xaResource, long timeout) throws UnavailableException {
             return createEndpoint(xaResource);
         }
@@ -214,7 +169,7 @@ public class MdbTest extends TestCase {
             try {
                 // process request
                 ObjectMessage requestMessage = (ObjectMessage) message;
-                Map request = (Map) requestMessage.getObject();
+                Map<String, Object[]> request = (Map<String, Object[]>) requestMessage.getObject();
                 Object[] args = (Object[]) request.get("args");
                 String returnValue = "test-" + args[0];
 

Modified: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/SimpleJmsTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/SimpleJmsTest.java?rev=1150672&r1=1150671&r2=1150672&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/SimpleJmsTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/SimpleJmsTest.java Mon Jul 25 12:47:25 2011
@@ -39,53 +39,7 @@ import org.apache.geronimo.transaction.m
 import org.apache.openejb.OpenEJBException;
 import org.apache.openejb.resource.activemq.ActiveMQResourceAdapter;
 
-public class SimpleJmsTest extends TestCase {
-    private static final String REQUEST_QUEUE_NAME = "request";
-    private ConnectionFactory connectionFactory;
-    private ActiveMQResourceAdapter ra;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        // create a transaction manager
-        GeronimoTransactionManager transactionManager = new GeronimoTransactionManager();
-
-        // create the ActiveMQ resource adapter instance
-        ra = new ActiveMQResourceAdapter();
-
-        // initialize properties
-        ra.setServerUrl("vm://localhost?async=true");
-        ra.setBrokerXmlConfig("broker:(tcp://localhost:61616)?useJmx=false");
-
-        // create a thead pool for ActiveMQ
-        Executor threadPool = Executors.newFixedThreadPool(30);
-
-        // create a work manager which ActiveMQ uses to dispatch message delivery jobs
-
-        TransactionContextHandler txWorkContextHandler = new TransactionContextHandler(transactionManager);
-        GeronimoWorkManager workManager = new GeronimoWorkManager(threadPool, threadPool, threadPool, Collections.<WorkContextHandler>singletonList(txWorkContextHandler));
-
-        // wrap the work mananger and transaction manager in a bootstrap context (connector spec thing)
-        BootstrapContext bootstrapContext = new GeronimoBootstrapContext(workManager, transactionManager, transactionManager);
-
-        // start the resource adapter
-        try {
-            ra.start(bootstrapContext);
-        } catch (ResourceAdapterInternalException e) {
-            throw new OpenEJBException(e);
-        }
-        // Create a ConnectionFactory
-        connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
-    }
-
-    protected void tearDown() throws Exception {
-        connectionFactory = null;
-        if (ra != null) {
-            ra.stop();
-            ra = null;
-        }
-        super.tearDown();
-    }
+public class SimpleJmsTest extends JmsTest {
 
     public void testProxy() throws Exception {
         // create reciever object

Modified: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapterTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapterTest.java?rev=1150672&r1=1150671&r2=1150672&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapterTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapterTest.java Mon Jul 25 12:47:25 2011
@@ -18,12 +18,15 @@
 package org.apache.openejb.resource.activemq;
 
 import junit.framework.TestCase;
+import org.apache.openejb.util.NetworkUtil;
 
 public class ActiveMQResourceAdapterTest extends TestCase {
     public void test() throws Exception {
         ActiveMQResourceAdapter resourceAdapter = new ActiveMQResourceAdapter();
         resourceAdapter.setServerUrl("vm://localhost?async=true");
-        resourceAdapter.setBrokerXmlConfig("broker:(tcp://localhost:61616)?useJmx=false");
+
+        String brokerAddress = NetworkUtil.getLocalAddress("broker:(tcp://", ")?useJmx=false");
+        resourceAdapter.setBrokerXmlConfig(brokerAddress);
 
         //    DataSource Default Unmanaged JDBC Database
         //

Modified: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/OpenEjbBrokerFactoryTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/OpenEjbBrokerFactoryTest.java?rev=1150672&r1=1150671&r2=1150672&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/OpenEjbBrokerFactoryTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/OpenEjbBrokerFactoryTest.java Mon Jul 25 12:47:25 2011
@@ -27,6 +27,7 @@ import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import javax.naming.spi.InitialContextFactory;
+import javax.sql.DataSource;
 
 import junit.framework.TestCase;
 import org.apache.activemq.broker.BrokerFactory;
@@ -36,6 +37,7 @@ import org.apache.activemq.network.jms.J
 import org.apache.activemq.store.PersistenceAdapter;
 import org.apache.activemq.store.jdbc.JDBCPersistenceAdapter;
 import org.apache.activemq.store.memory.MemoryPersistenceAdapter;
+import org.apache.openejb.util.NetworkUtil;
 import org.apache.openejb.util.URISupport;
 import org.apache.openejb.core.CoreContainerSystem;
 import org.apache.openejb.core.ivm.naming.IvmJndiFactory;
@@ -45,17 +47,18 @@ import org.apache.xbean.naming.context.I
 import org.hsqldb.jdbc.jdbcDataSource;
 
 public class OpenEjbBrokerFactoryTest extends TestCase {
+    private int brokerPort = NetworkUtil.getNextAvailablePort(new int[]{61616, 0});
 
     public void testBrokerUri() throws Exception {
         final String prefix = ActiveMQFactory.getBrokerMetaFile();
-        assertEquals(prefix + "broker:(tcp://localhost:61616)?persistent=false",
-                getBrokerUri("broker:(tcp://localhost:61616)"));
-        assertEquals(prefix + "broker:(tcp://localhost:61616)?useJmx=false&persistent=false",
-                getBrokerUri("broker:(tcp://localhost:61616)?useJmx=false"));
-        assertEquals(prefix + "broker:(tcp://localhost:61616)?useJmx=false&persistent=false",
-                getBrokerUri("broker:(tcp://localhost:61616)?useJmx=false&persistent=true"));
-        assertEquals(prefix + "broker:(tcp://localhost:61616)?useJmx=false&persistent=false",
-                getBrokerUri("broker:(tcp://localhost:61616)?useJmx=false&persistent=false"));
+        assertEquals(prefix + "broker:(tcp://localhost:" + brokerPort + ")?persistent=false",
+                getBrokerUri("broker:(tcp://localhost:" + brokerPort + ")"));
+        assertEquals(prefix + "broker:(tcp://localhost:" + brokerPort + ")?useJmx=false&persistent=false",
+                getBrokerUri("broker:(tcp://localhost:" + brokerPort + ")?useJmx=false"));
+        assertEquals(prefix + "broker:(tcp://localhost:" + brokerPort + ")?useJmx=false&persistent=false",
+                getBrokerUri("broker:(tcp://localhost:" + brokerPort + ")?useJmx=false&persistent=true"));
+        assertEquals(prefix + "broker:(tcp://localhost:" + brokerPort + ")?useJmx=false&persistent=false",
+                getBrokerUri("broker:(tcp://localhost:" + brokerPort + ")?useJmx=false&persistent=false"));
     }
 
     private String getBrokerUri(String brokerUri) throws URISyntaxException {
@@ -65,17 +68,17 @@ public class OpenEjbBrokerFactoryTest ex
     }
 
     public void testBrokerDoubleCreate() throws Exception {
-        BrokerService broker = BrokerFactory.createBroker(new URI(getBrokerUri("broker:(tcp://localhost:61616)?useJmx=false")));
+        BrokerService broker = BrokerFactory.createBroker(new URI(getBrokerUri( "broker:(tcp://localhost:" + brokerPort + ")?useJmx=false")));
         stopBroker(broker);
 
-        broker = BrokerFactory.createBroker(new URI(getBrokerUri("broker:(tcp://localhost:61616)?useJmx=false")));
+        broker = BrokerFactory.createBroker(new URI(getBrokerUri("broker:(tcp://localhost:" + brokerPort + ")?useJmx=false")));
         stopBroker(broker);
 
     }
 
     public void testNoDataSource() throws Exception {
-        final BrokerService broker = BrokerFactory.createBroker(new URI(getBrokerUri(
-                "broker:(tcp://localhost:61616)?useJmx=false")));
+        BrokerService broker = BrokerFactory.createBroker(new URI(getBrokerUri(
+                "broker:(tcp://localhost:" + brokerPort + ")?useJmx=false")));
         assertNotNull("broker is null", broker);
 
         PersistenceAdapter persistenceAdapter = broker.getPersistenceAdapter();
@@ -104,7 +107,7 @@ public class OpenEjbBrokerFactoryTest ex
         BrokerService broker = null;
         try {
             broker = BrokerFactory.createBroker(new URI(getBrokerUri(
-                    "broker:(tcp://localhost:61616)?useJmx=false")));
+                    "broker:(tcp://localhost:" + brokerPort + ")?useJmx=false")));
             assertNotNull("broker is null", broker);
 
             PersistenceAdapter persistenceAdapter = broker.getPersistenceAdapter();
@@ -112,7 +115,7 @@ public class OpenEjbBrokerFactoryTest ex
 
             assertTrue("persistenceAdapter should be an instance of JDBCPersistenceAdapter",
                     persistenceAdapter instanceof JDBCPersistenceAdapter);
-            JDBCPersistenceAdapter jdbcPersistenceAdapter = (JDBCPersistenceAdapter) persistenceAdapter;
+            JDBCPersistenceAdapter jdbcPersistenceAdapter = (JDBCPersistenceAdapter)persistenceAdapter;
 
             assertSame(dataSource, jdbcPersistenceAdapter.getDataSource());
         } finally {
@@ -145,7 +148,7 @@ public class OpenEjbBrokerFactoryTest ex
         BrokerService broker = null;
         try {
             broker = BrokerFactory.createBroker(new URI(getBrokerUri(
-                    "broker:(tcp://localhost:61616)?useJmx=false")));
+                    "broker:(tcp://localhost:" + brokerPort + ")?useJmx=false")));
             assertNotNull("broker is null", broker);
 
             PersistenceAdapter persistenceAdapter = broker.getPersistenceAdapter();
@@ -153,7 +156,7 @@ public class OpenEjbBrokerFactoryTest ex
 
             assertTrue("persistenceAdapter should be an instance of JDBCPersistenceAdapter",
                     persistenceAdapter instanceof JDBCPersistenceAdapter);
-            JDBCPersistenceAdapter jdbcPersistenceAdapter = (JDBCPersistenceAdapter) persistenceAdapter;
+            JDBCPersistenceAdapter jdbcPersistenceAdapter = (JDBCPersistenceAdapter)persistenceAdapter;
 
             assertSame(dataSource, jdbcPersistenceAdapter.getDataSource());
         } finally {
@@ -163,7 +166,6 @@ public class OpenEjbBrokerFactoryTest ex
     }
 
     public static class MockInitialContextFactory implements InitialContextFactory {
-
         private static ImmutableContext immutableContext;
 
         public static void install(Map bindings) throws NamingException {
@@ -177,10 +179,9 @@ public class OpenEjbBrokerFactoryTest ex
         }
     }
 
-    private void stopBroker(final BrokerService broker) throws Exception {
-        if (broker == null) {
-            return;
-        }
+
+    private void stopBroker(BrokerService broker) throws Exception {
+        if (broker == null) return;
 
         if (broker.getJmsBridgeConnectors() != null) {
             for (JmsConnector connector : broker.getJmsBridgeConnectors()) {

Modified: openejb/trunk/openejb3/container/openejb-core/src/test/resources/org/apache/openejb/core/mdb/activemq.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/resources/org/apache/openejb/core/mdb/activemq.xml?rev=1150672&r1=1150671&r2=1150672&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/resources/org/apache/openejb/core/mdb/activemq.xml (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/resources/org/apache/openejb/core/mdb/activemq.xml Mon Jul 25 12:47:25 2011
@@ -33,6 +33,11 @@
         <property name="directory" value="data/activemq"/>
     </bean>
 
+  <bean name="address" factory-bean="org.apache.openejb.util.NetworkUtil" factory-method="getLocalAddress">
+      <constructor-arg value="tcp://"/>
+      <constructor-arg value="?daemon=true&amp;keepAlive=true&amp;wireFormat.maxInactivityDuration=0"/>
+    </bean>
+
     <broker xmlns="http://activemq.apache.org/schema/core"
             useJmx="false"
             brokerName="openejb"
@@ -44,7 +49,7 @@
 
         <!-- The transport connectors ActiveMQ will listen to -->
         <transportConnectors>
-            <transportConnector uri="tcp://localhost:61616?daemon=true&amp;keepAlive=true&amp;wireFormat.maxInactivityDuration=0"/>
+            <transportConnector uri="#{address}"/>
         </transportConnectors>
 
     </broker>