- Update the SRA module to use quarkus instead of thorntail.
- The `delayCommit` attribute of the `@SRA` annotation is ignored by the ServerSRAFilter after request interceptor.
- Migrate the SRA demo package (io.narayana.sra.demo) over to the [quickstart repo|https://github.com/jbosstm/quickstart].
- In the demo code, split up each service (hotel, flight and trip) so that they each run in their own JVMs, and then modify the trip service so that it communicates with the hotel and flight services using REST calls (the ServerSRAFilter provider class should already automatically propagate the transaction context on each service invocation). This would be a second quickstart (step one shows them all in the same JVM and step 2 will show how to distribute the services - in the microservices jargon this is analogous to what used to be called "decomposing the monolith"). Step 1 could also be spit into two quickstarts, the first would show how to start and end a transaction in the resource method (this is the default behaviour of the `@SRA` annotation). The second would show how to start a transaction on entry to the method with `delayCommit=true` and then end the transaction in another resource method. So that would be three quickstarts in all.
- Move the SRA annotation code into the [rest-at module|https://github.com/jbosstm/narayana/tree/master/rts/at].
- The delayCommit attribute of the SRA annotation was originally modelled on the end attribute of the LRA annotation but the semantics of this LRA attribute was subsequently changed. SRA needs to align with LRA as closely as makes sense to facilitate code maintainability. This sub task is for changing the semantics of delayCommit to match the attribute org.eclipse.microprofile.lra.annotation.ws.rs.LRA#end().
These tasks are each involved enough to warrant moving to sub tasks with their own JIRA numbers.