You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by ChristineZ <ch...@duosp.co.za> on 2006/08/07 16:38:15 UTC
Re: Integrating embedded brokers on JBoss
I found another way of dealing with the problem. Instead of using MBeans and
getting the SocketException, I'm adding the activemq-ra-4.0.1.rar file into
the deploy directory of JBoss and the panacya*.xml and panacya*.jar as well.
I changed the xml file so that all the topics and queues that I use are
created and the ConnectionFactory as well. It seems like it's binding the
ConnectionFactory into the JNDIView of JBoss:
16:33:37,705 INFO [ConnectionFactoryBindingService] Bound ConnectionManager
'jboss.jca:service=ConnectionFactoryBinding,name=activemq/Connection
Factory' to JNDI name 'java:activemq/ConnectionFactory'
but I can't retrieve it.
<connection-factories>
<tx-connection-factory>
<jndi-name>activemq/QueueConnectionFactory</jndi-name>
<xa-transaction/>
<track-connection-by-tx/> <!-- Thanks to Adrian Brock for pointing
this one out! -->
<rar-name>activemq-ra-4.0.1.rar</rar-name>
<connection-definition>javax.jms.QueueConnectionFactory</connection-definition>
<security-domain-and-application>JmsXARealm</security-domain-and-application>
</tx-connection-factory>
<tx-connection-factory>
<jndi-name>activemq/ConnectionFactory</jndi-name>
<xa-transaction/>
<track-connection-by-tx/> <!-- Thanks to Adrian Brock for pointing
this one out! -->
<rar-name>activemq-ra-4.0.1.rar</rar-name>
<connection-definition>javax.jms.ConnectionFactory</connection-definition>
<security-domain-and-application>JmsXARealm</security-domain-and-application>
</tx-connection-factory>
<tx-connection-factory>
<jndi-name>activemq/TopicConnectionFactory</jndi-name>
<xa-transaction/>
<track-connection-by-tx/> <!-- Thanks to Adrian Brock for pointing
this one out too! -->
<rar-name>activemq-ra-4.0.1.rar</rar-name>
<connection-definition>javax.jms.TopicConnectionFactory</connection-definition>
<security-domain-and-application>JmsXARealm</security-domain-and-application>
</tx-connection-factory>
<mbean code="org.jboss.resource.deployment.AdminObject"
name="activemq.queue:name=outboundQueue">
<attribute name="JNDIName">activemq/queue/outbound</attribute>
<depends
optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='activemq-ra-4.0.1.rar'</depends>
<attribute name="Type">javax.jms.Queue</attribute>
<attribute name="Properties">
PhysicalName=queue.outbound
</attribute>
</mbean>
<mbean code="org.jboss.resource.deployment.AdminObject"
name="activemq.queue:name=statusQueue">
<attribute name="JNDIName">queue/StatusQueue</attribute>
<depends
optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='activemq-ra-4.0.1.rar'</depends>
<attribute name="Type">javax.jms.Queue</attribute>
<attribute name="Properties">
PhysicalName=StatusQueue
</attribute>
</mbean>
<mbean code="org.jboss.resource.deployment.AdminObject"
name="activemq.queue:name=commandQueue">
<attribute name="JNDIName">queue/CommandQueue</attribute>
<depends
optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='activemq-ra-4.0.1.rar'</depends>
<attribute name="Type">javax.jms.Queue</attribute>
<attribute name="Properties">
PhysicalName=CommandQueue
</attribute>
</mbean>
<mbean code="org.jboss.resource.deployment.AdminObject"
name="activemq.queue:name=messageQueue">
<attribute name="JNDIName">queue/MessageQueue</attribute>
<depends
optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='activemq-ra-4.0.1.rar'</depends>
<attribute name="Type">javax.jms.Queue</attribute>
<attribute name="Properties">
PhysicalName=MessageQueue
</attribute>
</mbean>
<mbean code="org.jboss.resource.deployment.AdminObject"
name="activemq.topic:name=eventsTopic">
<attribute name="JNDIName">topic/Events</attribute>
<depends
optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='activemq-ra-4.0.1.rar'</depends>
<attribute name="Type">javax.jms.Topic</attribute>
<attribute name="Properties">
PhysicalName=Events
</attribute>
</mbean>
</connection-factories>
This is the exception I'm getting in JBoss, although I'm using
activemq/ConnectionFactory to look it up:
16:36:53,114 ERROR [MessageConnection] *** Cannot lookup ConnectionFactory
in JNDI
javax.naming.NameNotFoundException: activemq/QueueConnectionFactory
at org.jboss.ha.jndi.TreeHead.lookup(TreeHead.java:223)
at org.jboss.ha.jndi.HAJNDI.lookup(HAJNDI.java:134)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.ha.framework.interfaces.HARMIClient.invoke(HARMIClient.java:229)
at $Proxy63.lookup(Unknown Source)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:610)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:572)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at za.co.duosp.messages.HaJndi.internalLookup(HaJndi.java:148)
at za.co.duosp.messages.HaJndi.internalLookup(HaJndi.java:157)
at za.co.duosp.messages.HaJndi.internalLookup(HaJndi.java:157)
at za.co.duosp.messages.HaJndi.internalLookup(HaJndi.java:157)
at za.co.duosp.messages.HaJndi.lookupHaObject(HaJndi.java:130)
at
za.co.duosp.messages.MessageConnection.createConnection(MessageConnection.java:70)
at
za.co.duosp.messages.MessageConnection.getConnection(MessageConnection.java:136)
at za.co.duosp.messages.MsgSender.getSender(MsgSender.java:124)
at za.co.duosp.messages.MsgSender.internalSendMsg(MsgSender.java:74)
at za.co.duosp.messages.MsgSender.sendMessage(MsgSender.java:55)
at
za.co.duosp.model.comms.persistant.CommandProxy.sendCommand(CommandProxy.java:51)
at
za.co.duosp.model.vehicle.CommsServerImpl.sendMessage(CommsServer.java:160)
at
za.co.duosp.model.vehicle.CommsServer.sendMessage(CommsServer.java:66)
at
za.co.duosp.model.vehicle.Datalogger.getPositionNow(Datalogger.java:362)
at
za.co.duosp.web.event.FleetSearchVehicleAction.update(FleetSearchVehicleAction.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
za.co.duosp.web.subactions.StaticMethodSubAction.actionExecute(StaticMethodSubAction.java:72)
at
za.co.duosp.web.struts.SubActionAction.executeActions(SubActionAction.java:238)
at
za.co.duosp.web.struts.SubActionAction.actionExecute(SubActionAction.java:191)
at za.co.duosp.web.struts.BaseAction.execute(BaseAction.java:105)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at za.co.duosp.web.filters.ZipFilter.doFilter(ZipFilter.java:53)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
za.co.duosp.web.filters.HibernateFilter.doFilter(HibernateFilter.java:63)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
I'm using JBoss 4.0.3 and ActiveMQ 4.0.1
--
View this message in context: http://www.nabble.com/Integrating-embedded-brokers-on-JBoss-tf2026378.html#a5686117
Sent from the ActiveMQ - User forum at Nabble.com.
RE: Integrating embedded brokers on JBoss
Posted by Mark Ashworth <ma...@cibecs.com>.
I tried to do the same thing but settled for the following solution.
ejb-jar.xml
-----------
<message-driven>
<ejb-name>HelloMDB</ejb-name>
<!-- ActiveMQ configuration -->
<resource-adapter-name>activemq-ra-4.0.rar</resource-adapter-name>
<configuration-name>ActiveMQ Message Driven Bean</configuration-name>
</message-driven>
JBoss.xml
---------
<message-driven>
<ejb-name>HelloMDB</ejb-name>
<ejb-class>org.test.HelloMDB</ejb-class>
<transaction-type>Container</transaction-type>
<!-- ActiveMQ configuration -->
<activation-config>
<activation-config-property>
<activation-config-property-name>destination</activation-config-property-nam
e>
<activation-config-property-value>queue.event2?consumer.exclusive=true</acti
vation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-property
-name>
<activation-config-property-value>javax.jms.Queue</activation-config-propert
y-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>acknowledgeMode</activation-config-property
-name>
<activation-config-property-value>Auto-acknowledge</activation-config-proper
ty-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>messageSelector</activation-config-property
-name>
<activation-config-property-value />
</activation-config-property>
<activation-config-property>
<activation-config-property-name>maxSessions</activation-config-property-nam
e>
<activation-config-property-value>25</activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>
Client
------
ActiveMQConnectionFactory connectionFactory = new
ActiveMQConnectionFactory("tcp://localhost:61616");
connection = connectionFactory.createConnection();
connection.start();
session = connection.createSession(true, 0);
Destination destination = session.createQueue("queue.event2");
sender = session.createProducer(destination);
sender.setDeliveryMode(DeliveryMode.PERSISTENT);
TextMessage message = session.createTextMessage();
message.setText("Hello JMS");
sender.send(message);
-----Original Message-----
From: ChristineZ [mailto:christinez@duosp.co.za]
Sent: 07 August 2006 04:38 PM
To: activemq-users@geronimo.apache.org
Subject: Re: Integrating embedded brokers on JBoss
I found another way of dealing with the problem. Instead of using MBeans and
getting the SocketException, I'm adding the activemq-ra-4.0.1.rar file into
the deploy directory of JBoss and the panacya*.xml and panacya*.jar as well.
I changed the xml file so that all the topics and queues that I use are
created and the ConnectionFactory as well. It seems like it's binding the
ConnectionFactory into the JNDIView of JBoss:
16:33:37,705 INFO [ConnectionFactoryBindingService] Bound ConnectionManager
'jboss.jca:service=ConnectionFactoryBinding,name=activemq/Connection
Factory' to JNDI name 'java:activemq/ConnectionFactory'
but I can't retrieve it.
<connection-factories>
<tx-connection-factory>
<jndi-name>activemq/QueueConnectionFactory</jndi-name>
<xa-transaction/>
<track-connection-by-tx/> <!-- Thanks to Adrian Brock for pointing
this one out! -->
<rar-name>activemq-ra-4.0.1.rar</rar-name>
<connection-definition>javax.jms.QueueConnectionFactory</connection-definiti
on>
<security-domain-and-application>JmsXARealm</security-domain-and-application
>
</tx-connection-factory>
<tx-connection-factory>
<jndi-name>activemq/ConnectionFactory</jndi-name>
<xa-transaction/>
<track-connection-by-tx/> <!-- Thanks to Adrian Brock for pointing
this one out! -->
<rar-name>activemq-ra-4.0.1.rar</rar-name>
<connection-definition>javax.jms.ConnectionFactory</connection-definition>
<security-domain-and-application>JmsXARealm</security-domain-and-application
>
</tx-connection-factory>
<tx-connection-factory>
<jndi-name>activemq/TopicConnectionFactory</jndi-name>
<xa-transaction/>
<track-connection-by-tx/> <!-- Thanks to Adrian Brock for pointing
this one out too! -->
<rar-name>activemq-ra-4.0.1.rar</rar-name>
<connection-definition>javax.jms.TopicConnectionFactory</connection-definiti
on>
<security-domain-and-application>JmsXARealm</security-domain-and-application
>
</tx-connection-factory>
<mbean code="org.jboss.resource.deployment.AdminObject"
name="activemq.queue:name=outboundQueue">
<attribute name="JNDIName">activemq/queue/outbound</attribute>
<depends
optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='acti
vemq-ra-4.0.1.rar'</depends>
<attribute name="Type">javax.jms.Queue</attribute>
<attribute name="Properties">
PhysicalName=queue.outbound
</attribute>
</mbean>
<mbean code="org.jboss.resource.deployment.AdminObject"
name="activemq.queue:name=statusQueue">
<attribute name="JNDIName">queue/StatusQueue</attribute>
<depends
optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='acti
vemq-ra-4.0.1.rar'</depends>
<attribute name="Type">javax.jms.Queue</attribute>
<attribute name="Properties">
PhysicalName=StatusQueue
</attribute>
</mbean>
<mbean code="org.jboss.resource.deployment.AdminObject"
name="activemq.queue:name=commandQueue">
<attribute name="JNDIName">queue/CommandQueue</attribute>
<depends
optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='acti
vemq-ra-4.0.1.rar'</depends>
<attribute name="Type">javax.jms.Queue</attribute>
<attribute name="Properties">
PhysicalName=CommandQueue
</attribute>
</mbean>
<mbean code="org.jboss.resource.deployment.AdminObject"
name="activemq.queue:name=messageQueue">
<attribute name="JNDIName">queue/MessageQueue</attribute>
<depends
optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='acti
vemq-ra-4.0.1.rar'</depends>
<attribute name="Type">javax.jms.Queue</attribute>
<attribute name="Properties">
PhysicalName=MessageQueue
</attribute>
</mbean>
<mbean code="org.jboss.resource.deployment.AdminObject"
name="activemq.topic:name=eventsTopic">
<attribute name="JNDIName">topic/Events</attribute>
<depends
optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='acti
vemq-ra-4.0.1.rar'</depends>
<attribute name="Type">javax.jms.Topic</attribute>
<attribute name="Properties">
PhysicalName=Events
</attribute>
</mbean>
</connection-factories>
This is the exception I'm getting in JBoss, although I'm using
activemq/ConnectionFactory to look it up:
16:36:53,114 ERROR [MessageConnection] *** Cannot lookup ConnectionFactory
in JNDI
javax.naming.NameNotFoundException: activemq/QueueConnectionFactory
at org.jboss.ha.jndi.TreeHead.lookup(TreeHead.java:223)
at org.jboss.ha.jndi.HAJNDI.lookup(HAJNDI.java:134)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.ha.framework.interfaces.HARMIClient.invoke(HARMIClient.java:229)
at $Proxy63.lookup(Unknown Source)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:610)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:572)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at za.co.duosp.messages.HaJndi.internalLookup(HaJndi.java:148)
at za.co.duosp.messages.HaJndi.internalLookup(HaJndi.java:157)
at za.co.duosp.messages.HaJndi.internalLookup(HaJndi.java:157)
at za.co.duosp.messages.HaJndi.internalLookup(HaJndi.java:157)
at za.co.duosp.messages.HaJndi.lookupHaObject(HaJndi.java:130)
at
za.co.duosp.messages.MessageConnection.createConnection(MessageConnection.ja
va:70)
at
za.co.duosp.messages.MessageConnection.getConnection(MessageConnection.java:
136)
at za.co.duosp.messages.MsgSender.getSender(MsgSender.java:124)
at za.co.duosp.messages.MsgSender.internalSendMsg(MsgSender.java:74)
at za.co.duosp.messages.MsgSender.sendMessage(MsgSender.java:55)
at
za.co.duosp.model.comms.persistant.CommandProxy.sendCommand(CommandProxy.jav
a:51)
at
za.co.duosp.model.vehicle.CommsServerImpl.sendMessage(CommsServer.java:160)
at
za.co.duosp.model.vehicle.CommsServer.sendMessage(CommsServer.java:66)
at
za.co.duosp.model.vehicle.Datalogger.getPositionNow(Datalogger.java:362)
at
za.co.duosp.web.event.FleetSearchVehicleAction.update(FleetSearchVehicleActi
on.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
za.co.duosp.web.subactions.StaticMethodSubAction.actionExecute(StaticMethodS
ubAction.java:72)
at
za.co.duosp.web.struts.SubActionAction.executeActions(SubActionAction.java:2
38)
at
za.co.duosp.web.struts.SubActionAction.actionExecute(SubActionAction.java:19
1)
at za.co.duosp.web.struts.BaseAction.execute(BaseAction.java:105)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces
sor.java:421)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
at za.co.duosp.web.filters.ZipFilter.doFilter(ZipFilter.java:53)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
at
za.co.duosp.web.filters.HibernateFilter.doFilter(HibernateFilter.java:63)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.ja
va:81)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:178)
at
org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalVal
ve.java:39)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssoci
ationValve.java:159)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:
59)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126
)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105
)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:744)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav
a:527)
at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThre
ad.java:112)
at java.lang.Thread.run(Thread.java:595)
I'm using JBoss 4.0.3 and ActiveMQ 4.0.1
--
View this message in context:
http://www.nabble.com/Integrating-embedded-brokers-on-JBoss-tf2026378.html#a
5686117
Sent from the ActiveMQ - User forum at Nabble.com.