[JBoss JIRA] Created: (JBTM-491) WS-AT needs ot provide an API allowing a Subordinate Transaction to be created and managed from within an AT transaction.
by Andrew Dinn (JIRA)
WS-AT needs ot provide an API allowing a Subordinate Transaction to be created and managed from within an AT transaction.
-------------------------------------------------------------------------------------------------------------------------
Key: JBTM-491
URL: https://jira.jboss.org/jira/browse/JBTM-491
Project: JBoss Transaction Manager
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: WS-T Implementation
Affects Versions: 4.5
Reporter: Andrew Dinn
Assignee: Andrew Dinn
Fix For: 4.6
A web service executing within a WS-AT transaction may wish to interpose a subordinate coordinator between itself and its own coordinator. To do so it needs to be able to start a subordinate WS-AT transaction. The current API for creating AT transactions requires calling UserTransactionFactory.userTransaction() to obtain an instance of UserTransaction and then calling begin() (or begin(final int timeout)) on the returned UserTransaction to start the transaction. If this is done within an existing AT transaction a WrongStateException is thrown. This request proposes to add the following methods to UserTransaction()
public void beginSubordinate() throws WrongStateException, SystemException;
public void beginSubordinate(int timeout) throws WrongStateException, SystemException;
These methods will begin a subordinate transaction so long as the thread is currently associated with a WS-AT transaction. WrongStateException will be thrown if the thread is not currently associated with a WS-AT transaction. SystemException will be thrown if a problem occurs starting the transaction (this can occur for much the same reasons it can occur with the normal begin methods).
--
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
15 years, 9 months
[JBoss JIRA] Created: (JBTM-490) Deprecate unknown() method in BA Participant interface
by Andrew Dinn (JIRA)
Deprecate unknown() method in BA Participant interface
------------------------------------------------------
Key: JBTM-490
URL: https://jira.jboss.org/jira/browse/JBTM-490
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 BA Participant interface defines an unknown() method with the following description
If the participant enquires as to the status of the transaction it was
registered with and that transaction is no longer available (has rolled
back) then this operation will be invoked by the coordination service.
Status enquiries only occur between participant completion and subsequent close or compensate. If the response to this enquiry is an InvalidState fault then this indicates that the coordinator host has lost all record of the transaction because of a crash, in which case the correct response is to call the participant's compensate() method (this is a correct step in the presumed abort protocol). InvalidState can only be sent if the participant does not exist.
If GetStatus results in a Status message notifying an unexpected coordinator state (i.e. neither Active nor Compensating nor Compensated) or leads to some other soap fault being sent in reply then the correct response is to call the participant error() method since this represents an unrecoverable protocol error. This type of error is orthogonal to the recovery status of the participant or the coordinator since it can happen before or after a crash on either side (or both sides) and, where there has been a crash, before or after the participant's status is re-established. Consequently, there is no circumstance in which it would be appropriate for unknown() to be called in place of error().
--
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
15 years, 9 months