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


    • Type: Enhancement
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Rejected
    • Affects Version/s: 5.7.0.Final
    • Fix Version/s: 6.later
    • Component/s: LRA
    • Labels:


      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);


      • 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.

        Gliffy Diagrams




              • Assignee:
                mmusgrov Michael Musgrove
                mmusgrov Michael Musgrove
              • Votes:
                0 Vote for this issue
                1 Start watching this issue


                • Created: