[jbossts-issues] [JBoss JIRA] Closed: (JBTM-510) WS-AT Subordinat Context Handler needs to reinstate existing subordinate if there is one

Andrew Dinn (JIRA) jira-events at lists.jboss.org
Mon Mar 9 13:06:37 EDT 2009


     [ https://jira.jboss.org/jira/browse/JBTM-510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Dinn closed JBTM-510.
----------------------------

    Resolution: Done


This has been fixed but, possibly, sub-optimally. Ideally, the subordinate transaction should be created by the Activation Coordinator service identified by the Coordinator URL specified in the web service JVM/AS. The returned context can then be associated with the parent context and the context handler can detect this and reinstate the parent when it sees another web service request. The problem is how to delete this association if the coordinator URL does not identify the (JVM/AS-)local coordinator service. If the coordinator is in another JVM then any commit or rollback operation performed by the subordinate coordinator cannot modify the association maintained in the web service JVM.

The handler could register a synchronization to clean up the association when it first creates the subordinate transaction, either with the parent transaction or with the subordinate (note that the association need not survive a crash since web service requests should not occur after prepare).

The current fix has the handler bypass the normal route to the Activation Coordinator and instead go direct to the local context factory i.e. it ignores any Coordinator URL setting and invokes the local coordinator back end. It registers a callback with the local subordinate coordinator implementation to be run at commit or rollback. This callback removes the parent to subordinate association. It's a little hacky but it works.

> WS-AT Subordinat Context Handler needs to reinstate existing subordinate if there is one
> ----------------------------------------------------------------------------------------
>
>                 Key: JBTM-510
>                 URL: https://jira.jboss.org/jira/browse/JBTM-510
>             Project: JBoss Transaction Manager
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: WS-T Implementation
>    Affects Versions: 4.5
>            Reporter: Andrew Dinn
>            Assignee: Andrew Dinn
>             Fix For: 4.6
>
>
> The WS-AT subordinate transaction context handler creates a subordinate transaction for an incoming WS-AT transaction and then resumes it, thus ensuring that the web service performs its operations in the subordinate transaction. The problem is that it needs to ensure that on subsequent invocations of the web service in the same top-level transaction it resumes the same subordinate transaction (it currently always creates a subordinate). The hard bit is also ensuring that the parent to subordinate association is garbage collected when either the parent or subordinate commits or rolls back.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jbossts-issues mailing list