Hi.
I have OC4J 10.1.3 with Active MQ 3.2.3 JCA 1.5 adapter configured. The
adapter is configured to run as embedded. Nevertheless I have the same
behavior when running the ActiveMQ as not embedded.
When publishing or consuming messages (by means of an MDB) in a container
transaction I get the following exception. Altough the exception is thrown,
the message continues to be delivered and consumed.
WARNING: caught exception consuming packet: XA_TRANSACTION_INFO: id = 46
XATrans
actionInfo{ transactionTimeout = 86400, xid = null, type = 112 }
javax.jms.JMSException: Packet type: 112 not recognized.
at
org.activemq.broker.impl.BrokerClientImpl.consumeXATransactionInfo(Br
okerClientImpl.java:833)
at
org.activemq.broker.impl.BrokerClientImpl.consume(BrokerClientImpl.ja
va:347)
at
org.activemq.transport.vm.VmTransportChannel.asyncSend(VmTransportCha
nnel.java:143)
at
org.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.ja
va:1362)
at
org.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.ja
va:1336)
at
org.activemq.TransactionContext.setTransactionTimeout(TransactionCont
ext.java:450)
at
org.activemq.ra.LocalAndXATransaction.setTransactionTimeout(LocalAndX
ATransaction.java:129)
at
oracle.j2ee.connector.transaction.XAResourceWrapper.setTransactionTim
eout(XAResourceWrapper.java:211)
at
com.evermind.server.TransactionEnlistment.setTransactionTimeout(Trans
actionEnlistment.java:51)
at
com.evermind.server.ApplicationServerTransaction.createAndStartTxEnli
stment(ApplicationServerTransaction.java:218)
at
com.evermind.server.ApplicationServerTransaction.enlist2pcResource(Ap
plicationServerTransaction.java:175)
at
com.evermind.server.ApplicationServerTransaction.doEnlist(Application
ServerTransaction.java:156)
at
com.evermind.server.ApplicationServerTransaction.enlistResource(Appli
cationServerTransaction.java:109)
at
com.evermind.server.ApplicationServerTransaction.enlistResource(Appli
cationServerTransaction.java:84)
at
com.evermind.server.ejb.MessageDrivenHome.beforeDelivery(MessageDrive
nHome.java:844)
at
oracle.j2ee.connector.messageinflow.MessageEndpointBaseState.beforeDe
livery(MessageEndpointBaseState.java:80)
at
oracle.j2ee.connector.messageinflow.MessageEndpointReadyForServiceSta
te.beforeDelivery(MessageEndpointReadyForServiceState.java:26)
at
oracle.j2ee.connector.messageinflow.MessageEndpointImpl.beforeDeliver
y(MessageEndpointImpl.java:194)
at
org.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.beforeDeliv
ery(MessageEndpointProxy.java:106)
at
org.activemq.ra.MessageEndpointProxy.beforeDelivery(MessageEndpointPr
oxy.java:53)
at
org.activemq.ra.ServerSessionImpl.beforeDelivery(ServerSessionImpl.ja
va:201)
at org.activemq.ActiveMQSession.run(ActiveMQSession.java:549)
at org.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:165)
at
oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java
:242)
at
oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExec
utor.java:819)
at java.lang.Thread.run(Thread.java:534)
As you can see, the exception is thrown when setting the timeout to an
XATransaction. Why is this thrown. Is it really an error or a normal
behavior in ActiveMQ?
Thanks for helping.
Pep.
--
View this message in context:
http://www.nabble.com/Transaction-error-when-delivering-or-consuming-messages-t1393672.html#a3746345
Sent from the ActiveMQ - User forum at Nabble.com.