Hello Arnaud!

You could have a look at my samples which I prepared for CamelOne. There is
also a XA transaction test which use ActiveMQ and JDBC. May be this will
help... May be I will add and example with ActiveMQ and OpenJPA in a few
days...
I'm wondering why do you use org.jencks.amqpool.XaPooledConnectionFactory?

[1] https://github.com/muellerc/camel-in-transaction

Best,
Christian

On Tue, May 8, 2012 at 5:24 PM, DEPREZ Arnaud AWL-IT <arnaud.dep...@atos.net
> wrote:

>  Hi everyone,****
>
> ** **
>
> I use the Geronimo TransactionManager with
> org.jencks.amqpool.XaPooledConnectionFactory for ActiveMQ and OpenJPA for a
> database.****
>
> Everything is configured with spring.****
>
> ** **
>
> I’ve done a simple test that take a message from a queue (“input queue”),
> persist it in a database and then send this message into another queue
> (“output queue”). Those steps are processed in the same global transaction
> (JTA).****
>
> I don’t know why, but when I start my bundle without sending any message
> to the “input queue”, I see plenty of logs and a lot of warnings.****
>
> ** **
>
> Does someone have any idea why I get these stackTrace : ** **
>
> ** **
>
> WARN [DefaultMessageListenerContainer-1] (PooledSession.java:112) - Caught
> exception trying rollback() when putting session back into the pool:
> javax.jms.TransactionInProgressException: Cannot rollback() if an XA
> transaction is already in progress ****
>
> javax.jms.TransactionInProgressException: Cannot rollback() if an XA
> transaction is already in progress ****
>
>                 at
> org.apache.activemq.TransactionContext.rollback(TransactionContext.java:238)
> ****
>
>                 at
> org.apache.activemq.ActiveMQSession.rollback(ActiveMQSession.java:580)****
>
>                 at
> org.jencks.amqpool.PooledSession.close(PooledSession.java:109)****
>
>                 at
> org.jencks.amqpool.XaConnectionPool$Synchronization.afterCompletion(XaConnectionPool.java:89)
> ****
>
>                 at
> org.apache.geronimo.transaction.manager.TransactionImpl.afterCompletion(TransactionImpl.java:540)
> ****
>
>                 at
> org.apache.geronimo.transaction.manager.TransactionImpl.afterCompletion(TransactionImpl.java:533)
> ****
>
>                 at
> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:329)
> ****
>
>                 at
> org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252)
> ****
>
>                 at
> org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1009)
> ****
>
>                 at
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
> ****
>
>                 at
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
> ****
>
>                 at
> org.apache.aries.transaction.GeronimoPlatformTransactionManager.commit(GeronimoPlatformTransactionManager.java:76)
> ****
>
>                 at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257)
> ****
>
>                 at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
> ****
>
>                 at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
> ****
>
>                 at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
> ****
>
>                 at java.lang.Thread.run(Thread.java:619)****
>
> WARN [DefaultMessageListenerContainer-1]
> (DefaultMessageListenerContainer.java:821) - Setup of JMS message listener
> invoker failed for destination 'SimpleInWithExceptionB' - trying to
> recover. Cause: Local JMS transaction failed to commit; nested exception is
> org.apache.activemq.AlreadyClosedException: Cannot use The session has
> already been closed as it has already been closed****
>
> INFO [DefaultMessageListenerContainer-1]
> (DefaultMessageListenerContainer.java:862) - Successfully refreshed JMS
> Connection****
>
> WARN [DefaultMessageListenerContainer-1] (TransactionImpl.java:208) -
> Unable to enlist XAResource org.apache.activemq.TransactionContext@62953a,
> errorCode: -6****
>
> javax.transaction.xa.XAException****
>
>                 at
> org.apache.activemq.TransactionContext.start(TransactionContext.java:334)*
> ***
>
>                 at
> org.apache.geronimo.transaction.manager.TransactionImpl.enlistResource(TransactionImpl.java:202)
> ****
>
>                 at
> org.jencks.amqpool.XaConnectionPool.createSession(XaConnectionPool.java:56)
> ****
>
>                 at
> org.jencks.amqpool.PooledConnection.createSession(PooledConnection.java:132)
> ****
>
>                 at
> org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:196)
> ****
>
>                 at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.access$1(AbstractPollingMessageListenerContainer.java:1)
> ****
>
>                 at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer$MessageListenerContainerResourceFactory.createSession(AbstractPollingMessageListenerContainer.java:530)
> ****
>
>                 at
> org.springframework.jms.connection.ConnectionFactoryUtils.doGetTransactionalSession(ConnectionFactoryUtils.java:300)
> ****
>
>                 at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:288)
> ****
>
>                 at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:243)
> ****
>
>                 at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
> ****
>
>                 at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
> ****
>
>                 at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
> ****
>
>                 at java.lang.Thread.run(Thread.java:619)****
>
> WARN [DefaultMessageListenerContainer-1] (TransactionImpl.java:542) -
> Unexpected exception from afterCompletion; continuing****
>
> java.lang.RuntimeException: org.apache.activemq.AlreadyClosedException:
> Cannot use The session has already been closed as it has already been closed
> ****
>
>                 at
> org.jencks.amqpool.XaConnectionPool$Synchronization.afterCompletion(XaConnectionPool.java:92)
> ****
>
>                 at
> org.apache.geronimo.transaction.manager.TransactionImpl.afterCompletion(TransactionImpl.java:540)
> ****
>
>                 at
> org.apache.geronimo.transaction.manager.TransactionImpl.afterCompletion(TransactionImpl.java:533)
> ****
>
>                 at
> org.apache.geronimo.transaction.manager.TransactionImpl.rollback(TransactionImpl.java:496)
> ****
>
>                 at
> org.apache.geronimo.transaction.manager.TransactionManagerImpl.rollback(TransactionManagerImpl.java:265)
> ****
>
>                 at
> org.springframework.transaction.jta.JtaTransactionManager.doRollback(JtaTransactionManager.java:1036)
> ****
>
>                 at
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:845)
> ****
>
>                 at
> org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:822)
> ****
>
>                 at
> org.apache.aries.transaction.GeronimoPlatformTransactionManager.rollback(GeronimoPlatformTransactionManager.java:80)
> ****
>
>                 at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.rollbackOnException(AbstractPollingMessageListenerContainer.java:410)
> ****
>
>                 at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:246)
> ****
>
>                 at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
> ****
>
>                 at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
> ****
>
>                 at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
> ****
>
>                 at java.lang.Thread.run(Thread.java:619)****
>
> Caused by: org.apache.activemq.AlreadyClosedException: Cannot use The
> session has already been closed as it has already been closed****
>
>                 at
> org.jencks.amqpool.PooledSession.getSession(PooledSession.java:283)****
>
>                 at
> org.jencks.amqpool.PooledSession.close(PooledSession.java:91)****
>
>                 at
> org.jencks.amqpool.XaConnectionPool$Synchronization.afterCompletion(XaConnectionPool.java:89)
> ****
>
>                 ... 14 more****
>
> ** **
>
> [image: blue_strip]
> *Arnaud Deprez*
> Analyst-Programmer
> Acquiring Back-Office
> +32 2 727 72 09
> arnaud.dep...@atos.net<http://intranet.atosworldline.com/Region1-fr/firstname.lastn...@atos.net>
> Chaussee de Haecht 1442 Haachtsesteenweg
> 1130 Brussels
> Belgium
> atosworldline.be
> [image: Atos Worldline logo]****
>
> P please don't print unless you really need to   ****
>
> ** **
>
> ------------------------------
>
> Atos Worldline SA/NV - Chaussee de Haecht 1442 Haachtsesteenweg
> - 1130 Brussels - Belgium
> RPM-RPR Bruxelles-Brussel - TVA-BTW BE 0418.547.872
> Bankrekening-Compte Bancaire-Bank Account 310-0269424-44
> BIC BBRUBEBB - IBAN BE55 3100 2694 2444
>
> "The information contained in this e-mail and any attachment thereto is
> confidential and may contain information which is protected by intellectual
> property rights.
> This information is intended for the exclusive use of the recipient(s)
> named above.
> This e-mail does not constitute any binding relationship or offer toward
> any of the addressees.
> If you are not one of the addressees , one of their employees or a proxy
> holder entitled to hand over this message to the addressee(s), any use of
> the information contained herein (e.g. reproduction, divulgation,
> communication or distribution,...) is prohibited.
> If you have received this message in error, please notify the sender and
> destroy it immediately after.
> The integrity and security of this message cannot be guaranteed and it may
> be subject to data corruption, interception and unauthorized amendment, for
> which we accept no liability."
>

Reply via email to