Class CommitMarkableResourceRecordRecoveryModule
java.lang.Object
com.arjuna.ats.internal.jta.recovery.arjunacore.CommitMarkableResourceRecordRecoveryModule
- All Implemented Interfaces:
RecoveryModule
This CommitMarkableResourceRecord assumes the following table has been
created:
create table xids (xid varbinary(255), transactionManagerID varchar(255))
(ora/syb/mysql) create table xids (xid bytea, transactionManagerID
varchar(255)) (psql) sp_configure "lock scheme",0,datarows (syb)
The CommitMarkableResourceRecord does not support nested transactions
TODO you have to set max_allowed_packet for large reaps on mysql
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
notifyOfCompletedBranch
(String commitMarkableResourceJndiName, Xid xid) void
Called by the RecoveryManager at start up, and then PERIODIC_RECOVERY_PERIOD seconds after the completion, for all RecoveryModules, of the second passvoid
Called by the RecoveryManager RECOVERY_BACKOFF_PERIOD seconds after the completion of the first passboolean
wasCommitted
(String jndiName, Xid xid) Can only be called after the first phase has executed
-
Constructor Details
-
CommitMarkableResourceRecordRecoveryModule
- Throws:
NamingException
ObjectStoreException
-
-
Method Details
-
notifyOfCompletedBranch
-
periodicWorkFirstPass
public void periodicWorkFirstPass()Description copied from interface:RecoveryModule
Called by the RecoveryManager at start up, and then PERIODIC_RECOVERY_PERIOD seconds after the completion, for all RecoveryModules, of the second pass- Specified by:
periodicWorkFirstPass
in interfaceRecoveryModule
-
periodicWorkSecondPass
public void periodicWorkSecondPass()Description copied from interface:RecoveryModule
Called by the RecoveryManager RECOVERY_BACKOFF_PERIOD seconds after the completion of the first pass- Specified by:
periodicWorkSecondPass
in interfaceRecoveryModule
-
wasCommitted
Can only be called after the first phase has executed- Parameters:
xid
-- Returns:
- whether the Xid was commited by the resource manager
- Throws:
ObjectStoreException
- if the resource manager was offline
-