]
Michael Musgrove closed JBTM-2953.
----------------------------------
Resolution: Done
The implementation passes the relevant TCK tests defined as examples in the spec:
Support asynchronous LRA participants
-------------------------------------
Key: JBTM-2953
URL:
https://issues.jboss.org/browse/JBTM-2953
Project: JBoss Transaction Manager
Issue Type: Bug
Components: LRA
Affects Versions: 5.7.1.Final
Reporter: Michael Musgrove
Assignee: Michael Musgrove
Priority: Major
Fix For: 5.next
When an asynchronous jax-rs method is annotated as an LRA (ie has the @LRA annotation),
for example:
{code}
@GET
@LRA
public void someAction(@Suspended AsyncResponse ar) throws InterruptedException {
...
}
{code}
the LRA filter does not respect the asynchronous nature of the call.
What needs to happen is for LRA jax-rs filter (ServerLRAFilter.java) to issue an
asynchronous join request to the coordinator and to link that future to the jax-rs
resource AsyncResponse callback.
And since the ServerLRAFilter cannot immediately supply the LRAId to the resource method
we also need a method on LRAClient analogous to getCurrent but which returns a Future for
the lra id.