Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-9511

Regression in Switchyard XA transaction on Karaf

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Major Major
    • fuse-6.x-GA
    • fuse-6.x-GA
    • ActiveMQ, SwitchYard
    • None
    • % %

      There is a regression in R9 while testing Switchyard XA transaction on Karaf. It looks like that there is a problem in Activemq client with couldn’t enlist Session in a distributed transaction. It throws this exception in fuse.log:

      Caused by: org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is 
      	at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:221)[232:org.apache.camel.camel-core:2.17.0.redhat-630356]
      	at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:124)[232:org.apache.camel.camel-core:2.17.0.redhat-630356]
      	at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:110)[232:org.apache.camel.camel-core:2.17.0.redhat-630356]
      	at org.switchyard.component.camel.common.handler.OutboundHandler.handleInOnly(OutboundHandler.java:157)
      	... 185 more
      Caused by: javax.jms.JMSException: Session's XAResource has not been enlisted in a distributed transaction.
      	at org.apache.activemq.ActiveMQXASession.doStartTransaction(ActiveMQXASession.java:101)
      	at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1916)
      	at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:288)
      	at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:223)
      	at org.apache.activemq.jms.pool.PooledProducer.send(PooledProducer.java:95)
      	at org.apache.activemq.jms.pool.PooledProducer.send(PooledProducer.java:66)
      	at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:592)
      	at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSend(JmsConfiguration.java:565)
      	at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:504)
      	at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$100(JmsConfiguration.java:446)
      	at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$1.doInJms(JmsConfiguration.java:460)
      	at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:466)
      	... 200 more
      

      I have tried a different combination of Karaf and brokers, and I discovered that this problem could be triggered by some change in activemq-osgi bundle because when I changed this bundle to an old version (build version 630347) then everything works.

      I tried these combinations:
      Karaf R9 with embedded or external AMQ R9 - fails
      Karaf R9 with external AMQ R8 - fails
      Karaf R9 with activemq-osgi/5.11.0.redhat-630347 + embedded or external AMQ - passed
      Karaf R9 with hornetq - passed
      Karaf R8 with embedded AMQ or external AMQ - passed

      Environment:
      jboss-fuse-karaf-6.3.0.redhat-356.zip
      jms broker: activemq

        1. activemq-in.xml
          2 kB
          Tomas Turek
        2. exception.log
          17 kB
          Tomas Turek

            tcunning@redhat.com Thomas Cunningham
            tturek@redhat.com Tomas Turek
            Tomas Turek Tomas Turek
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: