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/20 17:40:09 UTC

svn commit: r1148819 - in /openejb/branches/openejb-3.2.x/container/openejb-core/src/test: java/org/apache/openejb/core/mdb/ java/org/apache/openejb/resource/activemq/ resources/org/apache/openejb/core/mdb/

Author: jlmonteiro
Date: Wed Jul 20 15:40:07 2011
New Revision: 1148819

URL: http://svn.apache.org/viewvc?rev=1148819&view=rev
Log:
Seems like we have a lot of issues during our builds due to a port problem. Adding the ability to dynamically get one free and refactor a bit JMS tests to avoid duplicate code

Modified:
    openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsProxyTest.java
    openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsTest.java
    openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MdbTest.java
    openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/SimpleJmsTest.java
    openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapterTest.java
    openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/OpenEjbBrokerFactoryTest.java
    openejb/branches/openejb-3.2.x/container/openejb-core/src/test/resources/org/apache/openejb/core/mdb/activemq.xml

Modified: openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsProxyTest.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsProxyTest.java?rev=1148819&r1=1148818&r2=1148819&view=diff
==============================================================================
--- openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsProxyTest.java (original)
+++ openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsProxyTest.java Wed Jul 20 15:40:07 2011
@@ -17,8 +17,15 @@
  */
 package org.apache.openejb.core.mdb;
 
-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.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;
@@ -27,19 +34,14 @@ 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.transaction.manager.GeronimoTransactionManager;
-import org.apache.openejb.OpenEJBException;
-import org.apache.openejb.resource.activemq.ActiveMQResourceAdapter;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
 
 public class JmsProxyTest extends TestCase {
     private static final String REQUEST_QUEUE_NAME = "request";
     private ConnectionFactory connectionFactory;
     private ActiveMQResourceAdapter ra;
+    private String brokerAddress = NetworkUtil.getLocalAddress("tcp://", "");
 
     protected void setUp() throws Exception {
         super.setUp();
@@ -51,7 +53,7 @@ public class JmsProxyTest extends TestCa
         ra = new ActiveMQResourceAdapter();
 
         // initialize properties
-        ra.setServerUrl("tcp://localhost:61616");
+        ra.setServerUrl(brokerAddress);
         ra.setBrokerXmlConfig(getBrokerXmlConfig());
 
         // create a thead pool for ActiveMQ
@@ -70,11 +72,11 @@ public class JmsProxyTest extends TestCa
             throw new OpenEJBException(e);
         }
         // Create a ConnectionFactory
-        connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
+        connectionFactory = new ActiveMQConnectionFactory(brokerAddress);
     }
 
     protected String getBrokerXmlConfig() {
-        return "broker:(tcp://localhost:61616)?useJmx=false";
+        return "broker:(" + brokerAddress + ")?useJmx=false";
     }
 
     protected void tearDown() throws Exception {

Modified: openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsTest.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsTest.java?rev=1148819&r1=1148818&r2=1148819&view=diff
==============================================================================
--- openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsTest.java (original)
+++ openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/JmsTest.java Wed Jul 20 15:40:07 2011
@@ -43,11 +43,13 @@ 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 void setUp() throws Exception {
         super.setUp();
@@ -59,8 +61,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("broker:(" + brokerAddress + ")?useJmx=false");
 
 
         // create a thead pool for ActiveMQ
@@ -79,7 +81,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 {

Modified: openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MdbTest.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MdbTest.java?rev=1148819&r1=1148818&r2=1148819&view=diff
==============================================================================
--- openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MdbTest.java (original)
+++ openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MdbTest.java Wed Jul 20 15:40:07 2011
@@ -50,52 +50,9 @@ 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 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
-        WorkManager workManager = new GeronimoWorkManager(threadPool, threadPool, threadPool, transactionManager);
-
-        // wrap the work mananger and transaction manager in a bootstrap context (connector spec thing)
-        BootstrapContext bootstrapContext = new GeronimoBootstrapContext(workManager, 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();
@@ -139,7 +96,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");
@@ -171,8 +128,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 {
@@ -212,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/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/SimpleJmsTest.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/SimpleJmsTest.java?rev=1148819&r1=1148818&r2=1148819&view=diff
==============================================================================
--- openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/SimpleJmsTest.java (original)
+++ openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/SimpleJmsTest.java Wed Jul 20 15:40:07 2011
@@ -36,51 +36,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
-        WorkManager workManager = new GeronimoWorkManager(threadPool, threadPool, threadPool, transactionManager);
-
-        // wrap the work mananger and transaction manager in a bootstrap context (connector spec thing)
-        BootstrapContext bootstrapContext = new GeronimoBootstrapContext(workManager, 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/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapterTest.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapterTest.java?rev=1148819&r1=1148818&r2=1148819&view=diff
==============================================================================
--- openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapterTest.java (original)
+++ openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapterTest.java Wed Jul 20 15:40:07 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/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/OpenEjbBrokerFactoryTest.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/OpenEjbBrokerFactoryTest.java?rev=1148819&r1=1148818&r2=1148819&view=diff
==============================================================================
--- openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/OpenEjbBrokerFactoryTest.java (original)
+++ openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/resource/activemq/OpenEjbBrokerFactoryTest.java Wed Jul 20 15:40:07 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,27 +25,29 @@ 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.core.timer.MemoryTimerStore;
-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;
 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;
 
-public class OpenEjbBrokerFactoryTest extends TestCase {
-    private int brokerPort = 61616;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.naming.spi.InitialContextFactory;
+import javax.sql.DataSource;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Collections;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Properties;
 
-    @Override
-    public void setUp() throws Exception {
-        int port = NetworkUtil.getNextAvailablePort();
-        if (port != -1) {
-            brokerPort = port;
-            System.out.println("Using the port " + brokerPort + " for ActiveMQ broker");
-        }
-    }
+public class OpenEjbBrokerFactoryTest extends TestCase {
+    private int brokerPort = NetworkUtil.getNextAvailablePort(new int[] {61616, 0});
 
     public void testBrokerUri() throws Exception {
         final String prefix = ActiveMQFactory.getBrokerMetaFile();

Modified: openejb/branches/openejb-3.2.x/container/openejb-core/src/test/resources/org/apache/openejb/core/mdb/activemq.xml
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.2.x/container/openejb-core/src/test/resources/org/apache/openejb/core/mdb/activemq.xml?rev=1148819&r1=1148818&r2=1148819&view=diff
==============================================================================
--- openejb/branches/openejb-3.2.x/container/openejb-core/src/test/resources/org/apache/openejb/core/mdb/activemq.xml (original)
+++ openejb/branches/openejb-3.2.x/container/openejb-core/src/test/resources/org/apache/openejb/core/mdb/activemq.xml Wed Jul 20 15:40:07 2011
@@ -21,13 +21,20 @@
   xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
+
+
+    <bean name="address" factory-bean="org.apache.openejb.util.NetworkUtil" factory-method="getLocalAddress">
+      <constructor-arg value="tcp://"/>
+      <constructor-arg value=""/>
+    </bean>
+
     <bean name="broker" class="org.apache.activemq.xbean.XBeanBrokerService">
         <property name="persistent" value="false"/>
         <property name="brokerName" value="localhost"/>
         <property name="transportConnectors">
             <list>
                 <bean name="openwire" class="org.apache.activemq.broker.TransportConnector">
-                    <property name="uri" value="tcp://localhost:61616"/>
+                    <property name="uri" ref="address"/>
                 </bean>
             </list>
         </property>