Class XARecoveryResourceImple
java.lang.Object
org.omg.PortableServer.Servant
com.arjuna.ArjunaOTS.OTSAbstractRecordPOA
com.arjuna.ats.internal.jta.resources.jts.orbspecific.XAResourceRecord
com.arjuna.ats.internal.jta.recovery.jts.XARecoveryResourceImple
- All Implemented Interfaces:
ArjunaSubtranAwareResourceOperations
,OTSAbstractRecordOperations
,XARecoveryResource
,org.omg.CORBA.portable.InvokeHandler
,ResourceOperations
,SubtransactionAwareResourceOperations
-
Field Summary
Fields inherited from class com.arjuna.ats.internal.jta.resources.jts.orbspecific.XAResourceRecord
_theXAResource, XACONNECTION
Fields inherited from interface com.arjuna.ats.jta.recovery.XARecoveryResource
FAILED_TO_RECOVER, INCOMPLETE_STATE, INFLIGHT_TRANSACTION, RECOVERED_OK, RECOVERY_REQUIRED, TRANSACTION_NOT_PREPARED, WAITING_FOR_RECOVERY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal XAResource
protected boolean
notAProblem
(XAException ex, boolean commit) Is the XAException a non-error when received in reply to commit or rollback ? In recovery, the commit/rollback may have been sent before (possibly only just before, in another thread) - in which case the RM will not recognise the XID but it doesn't matterint
recover()
Attempt the recovery.int
If we don't have an XAResource then we cannot recover at this stage.Methods inherited from class com.arjuna.ats.internal.jta.resources.jts.orbspecific.XAResourceRecord
alter, commit, commit_one_phase, commit_subtransaction, forget, get_uid, getRecoveryCoordinator, getResource, getXid, isForgotten, merge, prepare, prepare_subtransaction, propagateOnAbort, propagateOnCommit, restoreState, rollback, rollback_subtransaction, saveRecord, saveState, setRecoveryCoordinator, setXAResource, shouldAdd, shouldAlter, shouldMerge, shouldReplace, toString, type, type_id, typeName, uid, updateState
Methods inherited from class com.arjuna.ArjunaOTS.OTSAbstractRecordPOA
_all_interfaces, _invoke, _this, _this
Methods inherited from class org.omg.PortableServer.Servant
_default_POA, _get_delegate, _get_interface_def, _is_a, _non_existent, _object_id, _orb, _poa, _set_delegate, _this_object, _this_object
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.arjuna.ats.jta.recovery.XARecoveryResource
get_uid, getXid, type
-
Constructor Details
-
XARecoveryResourceImple
-
XARecoveryResourceImple
-
-
Method Details
-
getXAResource
-
recoverable
public int recoverable()Description copied from interface:XARecoveryResource
If we don't have an XAResource then we cannot recover at this stage. The XAResource will have to be provided for us and then we can retry. Because recovery happens periodically, it is possible that it takes a snapshot of a transaction that is still running and will vanish from the log anyway. If that happens, then we don't need to (and can't) run recovery on it.- Specified by:
recoverable
in interfaceXARecoveryResource
-
recover
public int recover()Description copied from interface:XARecoveryResource
Attempt the recovery. Return one of the status values above.- Specified by:
recover
in interfaceXARecoveryResource
- Overrides:
recover
in classXAResourceRecord
-
notAProblem
Is the XAException a non-error when received in reply to commit or rollback ? In recovery, the commit/rollback may have been sent before (possibly only just before, in another thread) - in which case the RM will not recognise the XID but it doesn't matter- Overrides:
notAProblem
in classXAResourceRecord
-