[
https://jira.jboss.org/jira/browse/JBTM-725?page=com.atlassian.jira.plugi...
]
Andrew Dinn closed JBTM-725.
----------------------------
Resolution: Done
Ok, this is done but with a slightly different API.
public static BridgeWrapper create(String subordinateType, long expires, boolean
isSecure)
public static BridgeWrapper recover(String identifier)
public BridgeWrapper[] scan(String subordinateType)
There is also a new getter and a special type string constant:
public String getSubordinateType()
public static final String SUBORDINATE_TX_TYPE_AT_AT;
Argument identifier of BridgeWrapper.recover() is still the Uid string obtained by
calling BridgeWrapper.getIdentifier()
subordinateType can be anything except SUBORDINATE_TX_TYPE_AT_AT. Pass it and you get
nothing back.
scan() will return a zero-length array if there are no coordinators of the supplied type
in the log. a null return value means a subordinate coordinator scan has not happened yet
and indicates that the bridge should defer commit or rollback requests.
add recovery scanning to BridgeWrapper
--------------------------------------
Key: JBTM-725
URL:
https://jira.jboss.org/jira/browse/JBTM-725
Project: JBoss Transaction Manager
Issue Type: Feature Request
Security Level: Public(Everyone can see)
Components: Recovery, XTS
Affects Versions: 4.10.0
Reporter: Jonathan Halliday
Assignee: Andrew Dinn
Fix For: 4.11.0
The BridgeWrapper for managing subordinate XTS transactions allows for recovery where the
id of the tx is known i.e. a log exists in the parent tx.
"BridgeWrapper.recreate(String id)". However, it is also necessary to be able to
scan for outstanding BridgeWrappers in recovery situations where no parent log exists and
the id(s) are therefore unavailable. Furthermore, multiple applications may use the
BridgeWrapper and must be able to distinguish which of the recovered instances they are
responsible for. As they currently have no control over the structure of the id this is
not feasible.
Change BridgeWrapper API to include e.g.
create(String prefix) // each app uses its own prefix so it can filter returned
instances by id at recovery time.
recreate(String id) // unchanged
recoveryScan(String prefix) // return all in-doubt instances with matching prefix.
--
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