1 2 Previous Next 15 Replies Latest reply on Jun 2, 2015 9:23 AM by paul.robinson Go to original post
      • 15. Re: Refactoring TXFramework (AKA Compensations API) Proposal



        The Compensations API is like the CDI annotations for JTA (those introduced in JTA 1.2), but for compensating transactions rather than ACID transactions. It has a local only mode that doesn't use Web Services and a distributed mode that uses WS-BA as the transport protocol (sort of like how JTS is used as the transport protocol for distributed ACID transactions). Both 'modes' need classes from XTS. However, only the distributed mode needs all the Web Services 'baggage'. Thus we could be a lot smarter about what dependencies are included. Especially given that we know that distributed 'mode' cannot be used in the default configuration of WildFly (you need to use a separate configuration to enable XTS, due to the high boot time of this subsystem).


        So the first thing we could do is provide two different dependency sets for 'standalone.xml' and 'standalone-xts.xml'. Secondly we can detect the usage of compensating-transactions annotations at deploy-time and figure out if WS-BA dependencies are needed.


        Caveat: This is all off the top of my head.  A more thorough investigation is required to pin down the details. However, I think the concept I am proposing is sound.

        1 2 Previous Next