|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.ibm.websphere.grid.spi.SPI
com.ibm.wsspi.batch.parallel.logicalTX.Synchronization
public abstract class Synchronization
Synchronization is the abstract base class for the ParallelJobManager logical transaction Synchronization System Programming Interface (SPI). Use the Synchronization SPI to receive callbacks that demarcate the lifecycle of a parallel job logical transaction. A logical transaction provides a logical unit of work scope that spans all subjobs belonging to a parallel job. The ParallelJobManager starts a logical transaction before the subjobs are submitted and completes the logical transaction after all subjobs have completed.
Note: logical transactions provide a containment scope only - resource enlistment and coordination with resource manager JTA transactions is not provided.
Rollback is initiated in the following ways:
When rollback is triggered, the following actions are taken:
Implement the Synchronization SPI, by extending this class and implementing the begin, beforeCompletion, afterCompletion, and rollBack methods.
Configure this SPI with the following declaration in the xd.spi.properties file:
spi.parallel.logicalTX.Synchronization=<fully-qualified implementation class name>
Notes:
<WAS install root>/properties. E.g. /WebSphere/AppServer/properties
<WAS install root>/lib/classes. E.g. /WebSphere/AppServer/lib/classes
You are responsible for creating the classes directory if it does not already exist.
Nested Class Summary | |
---|---|
static class |
Synchronization.TXStatus
Specifies status values for logical transaction outcome. |
Field Summary | |
---|---|
static boolean |
TX_NOT_RESTARTABLE
Specifies that the logical transaction is not restartable. |
static boolean |
TX_RESTARTABLE
Specifies that the logical transaction is restartable. |
Constructor Summary | |
---|---|
Synchronization()
|
Method Summary | |
---|---|
abstract void |
afterCompletion(java.lang.String logicalTXID,
Synchronization.TXStatus status)
Indicates the specified logical transaction has completed with the indicated status. |
abstract void |
beforeCompletion(java.lang.String logicalTXID)
Indicates all subjobs have ended and that the specified logical transaction is about to commit. |
abstract void |
begin(java.lang.String logicalTXID)
Indicates the specified logical transaction has begun. |
java.lang.String |
getName()
|
abstract RestartInstructions |
rollBack(java.lang.String logicalTXID,
boolean restartable)
Invoked to undo changes made by subjobs within the unit of work scope of the specified logical transaction. |
Methods inherited from class com.ibm.websphere.grid.spi.SPI |
---|
compareTo, getInvocationOrder, setInvocationOrder, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static boolean TX_RESTARTABLE
public static boolean TX_NOT_RESTARTABLE
Constructor Detail |
---|
public Synchronization()
Method Detail |
---|
public abstract void begin(java.lang.String logicalTXID)
logicalTXID
- specifies the unique identity of the logical transaction.public abstract void beforeCompletion(java.lang.String logicalTXID) throws RollbackLogicalTXException
logicalTXID
- specifies the unique identity of the logical transaction.
RollbackLogicalTXException
public abstract void afterCompletion(java.lang.String logicalTXID, Synchronization.TXStatus status)
logicalTXID
- specifies the unique identity of the logical transaction.status
- specifies the outcome of the logical transaction - either COMMIT or ROLLBACKpublic abstract RestartInstructions rollBack(java.lang.String logicalTXID, boolean restartable)
logicalTXID
- specifies the unique identity of the logical transaction.restartable
- specifies whether or not this logical transaction is restartable as
follows:
Indicates this logical transaction is restartable. A logical transaction is restartable if and only if none of its subjobs have completed in the failed state. This means the subjobs have completed in only the restartable and/or ended states. This also means the parallel job itself will complete in the restartable state.
Indicates this logical transaction is NOT restartable. A logical transaction is not restartable if at least one of its subjobs has completed in the failed state. In this case, the parallel job itself will complete in the failed state and is not restartable.
public java.lang.String getName()
getName
in class com.ibm.websphere.grid.spi.SPI
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |