Uploaded image for project: 'JBoss Transaction Manager'
  1. JBoss Transaction Manager
  2. JBTM-2945

Track SRAs that are started in the context of an LRA

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Done
    • Major
    • None
    • 5.7.0.Final
    • LRA
    • None

    Description

      Often an LRA is built up from a number of individual actions performed by the
      participants enlisted with the LRA. These participants may use the ACID
      guarantees that an SRA provides in order to fulfil the requisite compensatory
      and completion actions when the LRA is terminated. To support this requirement
      when an SRA is started in the context of an LRA (either by annotating a method
      with both the @LRA and @SRA annotations or by starting an SRA via the client
      API when an LRA is already active) then the SRA will be automatically
      associated with the LRA. The following interface is provided for querying which
      LRAs and SRAs are associated with each other (in a one to many relationship):

      public interface LRAToSRA {
        /**
         * return all the SRAs running in the context of the given LRA
         */
        List<SRA> getAssociatedSRAs(URL lraId};
      
        /**
         * see if an LRA is associated with the give SRA
         */
        URL getAssociatedLRA(URL sraId);
      }
      

      Questions:

      • should @Compensate and @Complete block until all associated SRAs have finished
      • when an LRA is closed or cancelled should any active SRAs be automatically be committed or rolled back.

      Attachments

        Activity

          People

            rhn-engineering-mmusgrov Michael Musgrove
            rhn-engineering-mmusgrov Michael Musgrove
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: