|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface TInvocationRetryHandler
The TInvocationRetryHandler interface defines operations needed to perform a user defined retry logic.
Therefor the handler methods are called in certain points (join points) within the invocation process.
At these points the handler is able to perform some specific retry functionality.
The invocation process is defined thru the abstract class TAbstractInvocation. All invocation
calls (invoke(...)) enter here and they all end up in the method doTemplateInvoke(). This method
now does some generic pre-/post-procesing (session state updating) before/after calling the protocol specific invocation,
e.g. THTTPInvocation.doInvoke()
The handler "meets" the invocation at five join points:
- prepare(): is called at the very first time within the invoke() where no pre/post-precessing has been done.
This may be used for some kind of preparation/initialization of the handler.
- retryAfterInvoke(): is called after the "real" invocation failed.
- wrapUpAfterInvoke(): is called at the of the invoke(). This may be used to memorize state information for
the next invocation of the handler.
- retryAfterSessionModeUpdate(): is called after the session state has been tried to update and this failed.
- wrapUpAfterSessionModeUpdate(): is called at the very end of the invoke(), i.e. after the session mode update has been done.
This may be used to memorize state information for the next invocation of the handler.
It is possible to define multiple handlers for a invocation. The first registered handler is
triggered first. If he succeeds the following handlers will not be called. If he fails, the next handler gets a chance.
Method Summary | |
---|---|
void |
prepare(TRetryInvocation invocation,
TCommandStatement commandStatement,
java.lang.String collection,
java.lang.String doctype,
java.lang.String docname,
boolean useTransactionMode)
Prepare an invocation. |
TInputStream |
retryAfterInvoke(TRetryInvocation invocation,
TCommandStatement commandStatement,
TInputStream inputStream,
TInvocationException cause)
Handle the "result" after the invocation has invoked the base communication (HTTP, ..) or tried to do that. |
TInputStream |
retryAfterSessionModeUpdate(TRetryInvocation invocation,
TCommandStatement commandStatement,
TInputStream inputStream,
TTransactionModeUpdateException cause)
Handle the "result" after the invocation has been updated or tried to update the session information from the command statement. |
void |
wrapUpAfterInvoke(TRetryInvocation invocation,
TCommandStatement commandStatement)
Wrap up an invocation after the invocation has invoked the base communication (HTTP, ..). |
void |
wrapUpAfterSessionModeUpdate(TRetryInvocation invocation,
TCommandStatement commandStatement)
Wrap up an session mode update. |
Method Detail |
---|
void prepare(TRetryInvocation invocation, TCommandStatement commandStatement, java.lang.String collection, java.lang.String doctype, java.lang.String docname, boolean useTransactionMode)
invocation
- spcifies the invocation.commandStatement
- specifies the concrete Tamino specific action that should be fullfilled.
Session information is not yet set.collection
- is the collection of the Tamino DB to which the command statement might be related to.doctype
- within a schema of the given collection to which the command statement might be related to.docname
- is the name of the document to which the command statement might be related to.useTransactionState
- specifies whether the transaction state shall be considered.TInputStream retryAfterInvoke(TRetryInvocation invocation, TCommandStatement commandStatement, TInputStream inputStream, TInvocationException cause)
invocation
- spcifies the invocation.commandStatement
- specifies the concrete Tamino specific action that should be fullfilled.
Session information is written to the command statement.inputStream
- the returned input stream from the base communiciationcause
- the exception caused by writing the session information or null, when it has been successfull.
void wrapUpAfterInvoke(TRetryInvocation invocation, TCommandStatement commandStatement)
invocation
- specifies the invocation.commandStatement
- specifies the Tamino command that was issued.
Session information as returned by the previous Tamino command is set.TInputStream retryAfterSessionModeUpdate(TRetryInvocation invocation, TCommandStatement commandStatement, TInputStream inputStream, TTransactionModeUpdateException cause)
invocation
- spcifies the invocation.commandStatement
- specifies the concrete Tamino specific action that should be fullfilled.
Session information is written to the command statement.inputStream
- the returned input stream from the base communiciationcause
- the exception caused by writing the session information or null, when it has been successfull.
void wrapUpAfterSessionModeUpdate(TRetryInvocation invocation, TCommandStatement commandStatement)
invocation
- specifies the invocation.commandStatement
- specifies the Tamino command that was issued.
Session information as returned by the previous Tamino command is set.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |