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&amp;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.
>

Reply via email to