]
Michael Musgrove updated JBTM-2945:
-----------------------------------
Fix Version/s: 6.later
(was: 5.later)
Track SRAs that are started in the context of an LRA
----------------------------------------------------
Key: JBTM-2945
URL:
https://issues.jboss.org/browse/JBTM-2945
Project: JBoss Transaction Manager
Issue Type: Enhancement
Components: LRA
Affects Versions: 5.7.0.Final
Reporter: Michael Musgrove
Assignee: Michael Musgrove
Fix For: 6.later
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):
{code}
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);
}
{code}
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.