[ 
https://issues.apache.org/activemq/browse/SM-1203?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Guillaume Nodet updated SM-1203:
--------------------------------

    Fix Version/s: servicemix-jms-2008.01

> Rollback does not work when using XA
> ------------------------------------
>
>                 Key: SM-1203
>                 URL: https://issues.apache.org/activemq/browse/SM-1203
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-jms
>    Affects Versions: 3.2
>         Environment: Windows XP
>            Reporter: Noseda Anne
>            Assignee: Guillaume Nodet
>            Priority: Blocker
>             Fix For: 3.2.2, 3.3, servicemix-jms-2008.01
>
>         Attachments: servicemix.txt, test_rejouer.jar, 
> TEST_REJOUER_SA-1.0.jar, XA_transaction_patch.txt
>
>
> When the "transactionnal" BC JMS receives a JBI exchange with status ERROR, 
> it deletes it from the queue instead of replays it !
> BC JMS Config :
> ----------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns:jms="http://servicemix.apache.org/jms/1.0";
>       xmlns:amq="http://activemq.org/config/1.0";
>       xmlns:janus="http://www.etnic.be/janus";>
>       <jms:consumer service="janus:ServiceJmsIn" endpoint="endpoint"
>               targetService="janus:ServicePipeline" targetEndpoint="endpoint"
>               destinationName="queue/TEST_REJOUER"
>               connectionFactory="#connectionFactory" synchronous="true"
>               concurrentConsumers="8" listenerType="default"
>               transacted="xa" cacheLevel="3" />
>       <amqpool:xa-pool xmlns:amqpool="http://jencks.org/amqpool/2.0";
>               id="connectionFactory"
>               
> brokerURL="tcp://localhost:51616?jms.redeliveryPolicy.useExponentialBackOff=true&amp;jms.redeliveryPolicy.maximumRedeliveries=3&amp;wireFormat.maxInactivityDuration=0"
>               transactionManager="#transactionManager" maxConnections="8" />
>       <bean id="transactionManager"
>               class="org.springframework.jndi.JndiObjectFactoryBean">
>               <property name="jndiName"
>                       value="javax.transaction.TransactionManager" />
>       </bean>
> </beans>
> Exception :
> ---------------
> 10:14:49,233 | ERROR | DefaultMessageListenerContainer-1 | 
> MessageListenerContainer | stractMessageListenerContainer  929 | Execution of 
> JMS message listener failed
> javax.jms.JMSException: Error sending JBI exchange
>       at 
> org.apache.servicemix.jms.endpoints.AbstractConsumerEndpoint.onMessage(AbstractConsumerEndpoint.java:388)
>       at 
> org.apache.servicemix.jms.endpoints.JmsConsumerEndpoint$1.onMessage(JmsConsumerEndpoint.java:387)
>       at 
> org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:833)
>       at 
> org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:794)
>       at 
> org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:767)
>       at 
> org.springframework.jms.listener.DefaultMessageListenerContainer.doReceiveAndExecute(DefaultMessageListenerContainer.java:531)
>       at 
> org.springframework.jms.listener.DefaultMessageListenerContainer.receiveAndExecute(DefaultMessageListenerContainer.java:459)
>       at 
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:889)
>       at 
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:842)
>       at 
> org.springframework.core.task.SimpleAsyncTaskExecutor$ConcurrencyThrottlingRunnable.run(SimpleAsyncTaskExecutor.java:203)
>       at java.lang.Thread.run(Thread.java:595)
> Caused by: org.apache.servicemix.jbi.FaultException: <?xml version="1.0" 
> encoding="UTF-8"?><janusRequest xmlns="http://www.etnic.be/janus";>
>     <content>
>       <blabla>coucou</blabla>
>     </content>
>   </janusRequest>
>       at 
> org.apache.servicemix.eip.patterns.Pipeline.processAsync(Pipeline.java:353)
>       at org.apache.servicemix.eip.EIPEndpoint.process(EIPEndpoint.java:160)
>       at 
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
>       at 
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:463)
>       at 
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>       at 
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:595)
>       at 
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
>       at 
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
>       at 
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>       at 
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>       at 
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>       ... 1 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to