Author: jlmonteiro
Date: Wed Jul 20 16:24:44 2011
New Revision: 1148832
URL: http://svn.apache.org/viewvc?rev=1148832&view=rev
Log:
Also apply ActiveMQ and MDB changes to activemq4 module. I don't like duplicate
code. It should be definitely changed !!!
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 r1148804,
openejb/branches/openejb-3.2.x/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-activemq4/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=1148832&r1=1148831&r2=1148832&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
Wed Jul 20 16:24:44 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=1148832&r1=1148831&r2=1148832&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
Wed Jul 20 16:24:44 2011
@@ -17,12 +17,15 @@
*/
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.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;
@@ -36,21 +39,18 @@ 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.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,19 +62,18 @@ 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));
+ 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, transactionManager);
+ BootstrapContext bootstrapContext = new
GeronimoBootstrapContext(workManager, transactionManager);
// start the resource adapter
try {
@@ -83,7 +82,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 +154,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=1148832&r1=1148831&r2=1148832&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
Wed Jul 20 16:24:44 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,13 +127,16 @@ 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;
}
+
+ public MessageEndpoint createEndpoint(XAResource arg0, long arg1)
+ throws UnavailableException {
+ //TODO: next openejb version
+ throw new UnsupportedOperationException("Method not implemented:
MessageEndpoint createEndpoint(XAResource arg0, long arg1)");
+ }
}
public static class JmsEndpoint implements MessageEndpoint,
MessageListener {
@@ -213,7 +157,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=1148832&r1=1148831&r2=1148832&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
Wed Jul 20 16:24:44 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=1148832&r1=1148831&r2=1148832&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
Wed Jul 20 16:24:44 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=1148832&r1=1148831&r2=1148832&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
Wed Jul 20 16:24:44 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,25 +25,40 @@ 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 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;
+
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 {
@@ -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 {
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();
@@ -97,7 +100,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();
@@ -131,7 +134,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();
Modified:
openejb/trunk/openejb3/container/openejb-activemq4/src/test/resources/org/apache/openejb/core/mdb/activemq.xml
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-activemq4/src/test/resources/org/apache/openejb/core/mdb/activemq.xml?rev=1148832&r1=1148831&r2=1148832&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-activemq4/src/test/resources/org/apache/openejb/core/mdb/activemq.xml
(original)
+++
openejb/trunk/openejb3/container/openejb-activemq4/src/test/resources/org/apache/openejb/core/mdb/activemq.xml
Wed Jul 20 16:24:44 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>