[
https://jira.jboss.org/jira/browse/JBTM-491?page=com.atlassian.jira.plugi...
]
Andrew Dinn reopened JBTM-491:
------------------------------
The proposed API method beginSubordinate() enabliong an AT subtransaction to be created
and entered should be relocated to a new class UserSubordinateTransaction and renamed as
begin(). The implementation of UserSubordinateTransaction should also provide commit()
and rollback() methods which throw an exception. Access to an instance of
UserSubordinateTransaction should be via a getter on UserTransactionFactory().
Although this method will still be exposed and documented as a supported public API it
will normally be employed internally by a server side handler registered by the web
service.
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