activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Henri Gomez <henri.go...@gmail.com>
Subject embedded broker in Tomcat 6 available to both local vm and external clients
Date Mon, 19 Jan 2009 09:55:42 GMT
Hi to all,

I read carefully the docs about declaring an ActiveMQ in Tomcat :

http://activemq.apache.org/tomcat.html

I need to get ActiveMQ embedded in a webapp and for both in VM clients
but also external clients and want to get the setup in context.xml :

I tried to add in context.xml :

  <Resource name="jms/ConnectionFactory" auth="Container"
type="org.apache.activemq.ActiveMQConnectionFactory" description="JMS
Connection Factory"
        factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL="vm://localhost" brokerName="LocalActiveMQBroker"/>


I couldn't see tcp port opend.

  <Resource name="jms/ConnectionFactory" auth="Container"
type="org.apache.activemq.ActiveMQConnectionFactory" description="JMS
Connection Factory"
        factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL="tcp://localhost:61616" brokerName="LocalActiveMQBroker"
        useEmbeddedBroker="true" />

No more luck.

How could I get it works ?

With both configuration I could see the broker available by adding in
a StartupServlet :

		try {
		    InitialContext initCtx = new InitialContext();
		    Context envContext = (Context) initCtx.lookup("java:comp/env");
		    ConnectionFactory connectionFactory = (ConnectionFactory)
envContext.lookup("jms/ConnectionFactory");
		    Connection connection = connectionFactory.createConnection();
		    Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
		    MessageProducer producer = session.createProducer((Destination)
envContext.lookup("jms/topic/MyTopic"));

		    Message testMessage = session.createMessage();
		    testMessage.setStringProperty("testKey", "testValue");
		    producer.send(testMessage);
		} catch (NamingException ne) {
		    System.err.println("NamingException: " + ne);
		} catch (JMSException jmse) {
		    System.err.println("NamingException: " + jmse);
		}		

My question is :

How could we get Tomcat 6 start an ActiveMQ in embedded mode with
opened connections to outside clients.

Regards

Mime
View raw message