Is it possible that you are running multiple tomee's on one server/machine, and using default activemq config?
On Mon, Mar 24, 2014 at 9:54 AM, tschuler <[email protected]>wrote: > Hi, > > we have a TomEE Webprofile 1.6.0 where we have ActiveMQ 5.9 integrated. > We have a simple application which is deployed as EAR file. > In this application we have a JMS queue associated with a MDB (Message > Driven Bean). > We also have a stateless session bean for sending messages to the JMS > queue. > > When we start the application in a single node it works fine - sent > messages > are consumed by the MDB without errors. > If we start the application in a load balancing cluster with two nodes and > send multiple messages, we get warnings in the log file and the according > messages are redelivered. > > Mrz 24, 2014 2:09:37 PM org.apache.activemq.broker.TransportConnection > serviceException > WARNING: Async error occurred: > javax.transaction.xa.XAException: Transaction > > 'XID:[1197822575,globalId=4000000047544d4944000000000000000000000000000000000000000000000000000,branchId=1000000047544d4944000000000000000000000000000000000000000000000000000]' > has not been started. > at > > org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:368) > at > > org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:273) > at > > org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:92) > at > > org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:476) > at > org.apache.activemq.command.MessageAck.visit(MessageAck.java:236) > at > > org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292) > at > > org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:149) > at > > org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) > at > > org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) > at > > org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270) > at > > org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) > at > org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214) > at > org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196) > at java.lang.Thread.run(Thread.java:722) > > The JMS Broker is configured in a failover scenario: > > <Resource id="MyJmsResourceAdapter" type="ActiveMQResourceAdapter"> > BrokerXmlConfig > broker:(tcp://localhost:51516)?persistent=true&useJmx=false > ServerUrl = > failover:(tcp://localhost:51515,tcp://localhost:51516)?randomize=false > DataSource myDatabase > </Resource> > > The error occurs only when we start both nodes and after the start we send > the messages. > > We have also adopted the openejb.deploymentId.format setting in > system.properties to get an unique name for the MDB on each node. > > Has someone an idea why this is happening and how we can prevent this > error? > > Best regards, > Thomas > > > > -- > View this message in context: > http://openejb.979440.n4.nabble.com/Transaction-issue-for-MDB-in-cluster-environment-tp4668327.html > Sent from the OpenEJB User mailing list archive at Nabble.com. >
