You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Andrei Shakirin (JIRA)" <ji...@apache.org> on 2015/05/28 12:53:17 UTC

[jira] [Created] (CXF-6425) Check for extrnal transactions in PollingMessageListenerContainer

Andrei Shakirin created CXF-6425:
------------------------------------

             Summary: Check for extrnal transactions in PollingMessageListenerContainer
                 Key: CXF-6425
                 URL: https://issues.apache.org/jira/browse/CXF-6425
             Project: CXF
          Issue Type: Improvement
          Components: JMS
    Affects Versions: 3.1.0, 3.0.1
            Reporter: Andrei Shakirin
            Assignee: Andrei Shakirin


Currently PollingMessageListenerContainer doesn't check if transaction was already created by container and tries to created nested one.
That causes the following error:

{code}
10:31:13,826 | WARN | pool-52-thread-1 | essageListenerContainer$XAPoller 128 | 158 - org.apache.cxf.cxf-rt-transports-jms - 3.1.1.SNAPSHOT | Unexpected exception. Res
tarting session and consumer javax.transaction.NotSupportedException: Nested Transactions are not supported
at org.apache.geronimo.transaction.manager.TransactionManagerImpl.begin(TransactionManagerImpl.java:157) 111:org.apache.aries.transaction.manager:1.1.1]
at org.apache.geronimo.transaction.manager.TransactionManagerImpl.begin(TransactionManagerImpl.java:152)[111:org.apache.aries.transaction.manager:1.1.1]
at org.apache.cxf.transport.jms.util.PollingMessageListenerContainer$XAPoller.run(PollingMessageListenerContainer.java:107)[158:org.apache.cxf.cxf-rt-transports-jms:3.1.1.SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_21]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_21]
at java.lang.Thread.run(Thread.java:722)[:1.7.0_21]
{code}

Proposal: check if the transaction already exists and if yes:
a) not start it explicitly through TransactionManager
b) in case of exception call setRollbackOnly()



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)