2 Replies Latest reply on Dec 20, 2010 8:46 AM by burmanm

    SmooksAction not participating in XA transaction properly

    burmanm

      Hi,

       

      It seems that SmooksAction doesn't participate correctly in the XA transaction, but instead, if filterSource is correctly processed and one is using esbr:router, then subsequent RuntimeExceptions which cause rollbacks won't affect the results of filterSource.

       

      This means messages are resent and resent and resent..  Has anyone stumbled into this and actually fixed it? I guess the ServiceInvoker should be part of the TransactionStrategy?

        • 1. Re: SmooksAction not participating in XA transaction properly
          burmanm

          It looks like this is related to HornetQ somehow since it works with JBoss Messaging 1.4.7 in my preliminary tests.. more investigation required.

          • 2. Re: SmooksAction not participating in XA transaction properly
            burmanm

            Yep, this is HornetQ related. Creating a SmooksAction (in XA-transacted mode) where you do:

             

            smooks.filterSource(execContext, source);

            System.out.println("I'm gonna sleep now for 10s");
            Thread.sleep(10000);
            System.out.println("Time to wakeup");

             

            Will result in  esbr:routed messages being processed in the following services before Thread.sleep() is done. RuntimeException here will not roll them back. This all works fine with JBoss Messaging. A bug, but in which software?