[jbossts-issues] [JBoss JIRA] (JBTM-2944) More specification updates

Michael Musgrove (JIRA) issues at jboss.org
Fri Oct 13 05:56:00 EDT 2017


Michael Musgrove created JBTM-2944:
--------------------------------------

             Summary: More specification updates
                 Key: JBTM-2944
                 URL: https://issues.jboss.org/browse/JBTM-2944
             Project: JBoss Transaction Manager
          Issue Type: Bug
          Components: LRA
    Affects Versions: 5.7.0.Final
            Reporter: Michael Musgrove
            Assignee: Michael Musgrove
             Fix For: 5.next


The reference implementation needs synchronising with some recent spec changes (NB I will link the spec change PR shortly over in the sandbox https://github.com/jbosstm/microprofile-sandbox):

1. Allow the "pure java registration mechanism" (aka LRAManagement.java) to support asynchronous processing: i.e. make the completion methods return Future<Void> and monitor the future to report the status, hence we can remove the status() and forget() methods from the LRAParticipant.java interface thus making it much easier for developers to write LRA participants.

2. Ensure that if a termination method (complete/compensate) returns FailedToComplete or FailedToCompensate then we log it and ignore this participant on future recovery passes.

3 The query URLs are not RESTful. There are separate ones for asking for the LRAs in a particular state. The RESTful way is to provide a single endpoint which when combined with a query parameter will return just those LRAs that the client is interested in.
 
4. There are separate URLs for querying the different states of an LRA. A more RESTful way is a single GET url which reports the status in the response body.

5. Remove the interface method for starting an LRA
{code}
   URL startLRA(String clientID, Long timeout) throws GenericLRAException;
{code}
since it is superfluous - just use the one that takes a timeunit instead:
{code}
   URL startLRA(String clientID, Long timeout, TimeUnit unit) throws GenericLRAException;
{code}




--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jbossts-issues mailing list