Bonjour, L'erreur suivante survient lorsqu'on effectue deux actions de suite dans la file JMS. WARN he.activemq.broker.TransportConnection.Service 285 - Async error occurred: javax.transaction.xa.XAException: Transaction 'XID:131076:00000000000000000000ffff7f0000010000a68c4bdee86d0000000041726a756e613a3432363336:00000000000000000000ffff7f0000010000a68c4bdee86d00000006' has not been started. javax.transaction.xa.XAException: Transaction 'XID:131076:00000000000000000000ffff7f0000010000a68c4bdee86d0000000041726a756e613a3432363336:00000000000000000000ffff7f0000010000a68c4bdee86d00000006' has not been started. at org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:266) at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:208) at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:126) at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:95) at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:133) at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:446) at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:631) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:300) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178) at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68) at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:216) at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84) at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:204) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:186) at java.lang.Thread.run(Thread.java:619) Pour info, l'erreur est reproductible via le code src/test/java/org/sharengo/wikitty/multistorage/test/MultiStorageTest.java du module core-wikitty-multistorage-impl. J'ai l'impression qu'il utilise la première transaction lors du second appel (mais il ne peut pas la redémarré). Sinon, a ce que j'ai compris, le XATopicSession de JMS s'apparente plus ou moins à une transaction. Donc au lieu d'instancier un seul XATopicSession par service, si j'instancie un XATopicSession par appel de store(Wikitty) ca fonctionne mieux. Mais peut être que ce n'est pas du tout cela, et j'ai peut-être du coup modifié le fonctionnement des transactions :( -- Éric<chatellier@codelutin.com> Tel: 02 40 50 29 28 http://www.codelutin.com
Hello, Je pourrais pas te répondre de façon sur, mais ça me semble pas déconnant. Julien Le Mon, 03 May 2010 17:22:56 +0200, Eric Chatellier <chatellier@codelutin.com> a écrit :
Bonjour,
L'erreur suivante survient lorsqu'on effectue deux actions de suite dans la file JMS.
WARN he.activemq.broker.TransportConnection.Service 285 - Async error occurred: javax.transaction.xa.XAException: Transaction 'XID:131076:00000000000000000000ffff7f0000010000a68c4bdee86d0000000041726a756e613a3432363336:00000000000000000000ffff7f0000010000a68c4bdee86d00000006' has not been started. javax.transaction.xa.XAException: Transaction 'XID:131076:00000000000000000000ffff7f0000010000a68c4bdee86d0000000041726a756e613a3432363336:00000000000000000000ffff7f0000010000a68c4bdee86d00000006' has not been started. at org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:266) at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:208) at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:126) at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:95) at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:133) at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:446) at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:631) at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:300) at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178) at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68) at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:216) at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84) at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:204) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:186) at java.lang.Thread.run(Thread.java:619)
Pour info, l'erreur est reproductible via le code src/test/java/org/sharengo/wikitty/multistorage/test/MultiStorageTest.java du module core-wikitty-multistorage-impl.
J'ai l'impression qu'il utilise la première transaction lors du second appel (mais il ne peut pas la redémarré).
Sinon, a ce que j'ai compris, le XATopicSession de JMS s'apparente plus ou moins à une transaction.
Donc au lieu d'instancier un seul XATopicSession par service, si j'instancie un XATopicSession par appel de store(Wikitty) ca fonctionne mieux. Mais peut être que ce n'est pas du tout cela, et j'ai peut-être du coup modifié le fonctionnement des transactions :(
participants (2)
-
Eric Chatellier -
Julien Ruchaud