com.ibm.wsspi.batch.parallel.logicalTX
Class Synchronization
- java.lang.Object
com.ibm.websphere.grid.spi.SPI
com.ibm.wsspi.batch.parallel.logicalTX.Synchronization
- public abstract class Synchronization
- extends SPI
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 any SPI in the com.ibm.wsspi.batch.parallel family throws declared exception RollbackLogicalTXException.
- When any subjob completes in the Restartable or Failed state.
When rollback is triggered, the following actions are taken:
- In-flight subjobs are cancelled. This includes subjobs still executing on endpoints, as well as subjobs that may be awaiting dispatch.
- The rollBack method on this SPI is invoked. It is the responsibility of the rollBack method to undo any work done by subjobs that have successfully completed one or more checkpoints. Note this includes subjobs that have completed successfully - i.e. are in the "ended" state.
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:
- The xd.spi.properties file is located in:
- The jar file containing the implementation of this SPI should be stored in:
- static class
- static
- boolean
- static
- boolean
- abstract
- void
- abstract
- void
- abstract
- void
- java.lang.String
- abstract
- com.ibm.wsspi.batch.parallel.logicalTX.RestartInstructions
- public static boolean TX_RESTARTABLE
- public static boolean TX_NOT_RESTARTABLE
- public Synchronization()
- public abstract void begin(java.lang.String logicalTXID)
- public abstract void beforeCompletion( java.lang.String logicalTXID)
- throws com.ibm.wsspi.batch.parallel.logicalTX.RollbackLogicalTXException
- public abstract void afterCompletion( java.lang.String logicalTXID,
- Synchronization.TXStatus status)
- public abstract com.ibm.wsspi.batch.parallel.logicalTX.RestartInstructions rollBack( java.lang.String logicalTXID,
- boolean restartable)
- true
- false
- public java.lang.String getName( )
<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
Modifier and Type | Class and Description |
---|---|
|
Synchronization.TXStatus
Specifies status values for logical transaction outcome.
|
Field Summary
Modifier and Type | Field and Description |
---|---|
|
TX_NOT_RESTARTABLE
Specifies that the logical transaction is not restartable.
|
|
TX_RESTARTABLE
Specifies that the logical transaction is restartable.
|
Constructor Summary
Constructor and Description |
---|
Synchronization()
|
Method Summary
Modifier and Type | Method and Description |
---|---|
|
afterCompletion(java.lang.String logicalTXID,Synchronization.TXStatus status)
Indicates the specified logical transaction has completed with the indicated status.
|
|
beforeCompletion(java.lang.String logicalTXID)
Indicates all subjobs have ended and that the specified logical transaction is about
to commit.
|
|
begin(java.lang.String logicalTXID)
Indicates the specified logical transaction has begun.
|
|
getName()
|
|
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
TX_RESTARTABLE
TX_NOT_RESTARTABLE
Constructor Detail
Synchronization
Method Detail
begin
logicalTXID
- specifies the unique identity of the logical transaction. beforeCompletion
logicalTXID
- specifies the unique identity of the logical transaction. com.ibm.wsspi.batch.parallel.logicalTX.RollbackLogicalTXException
afterCompletion
logicalTXID
- specifies the unique identity of the logical transaction. status
- specifies the outcome of the logical transaction - either COMMIT or ROLLBACK rollBack
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.
getName
SPI