Cancel Service (com.ibi.agents.XDCancelAgent)

Syntax:

com.ibi.agents.XDCancelAgent

iIT Service Object:

operations: Cancel a Service

Description:

The execution of one or more services on other execution edges of a process flow can be cancelled by using the Cancel Service (com.ibi.agents.XDCancelAgent). This service accepts the name of one or more target services. Upon execution, a cancellation request is sent to the named service(s).

The cancellation capability facilitates the construction of caches, in which a slower operation (such as accessing a remote database) is run in parallel with a faster, local cache search. If the cache finds the required entry in the local database, then it can cancel the slower operation.

A cancel operation can only be directed to a service node (agent) that supports cancellation. In addition, that service must be able to actually cancel. For example, the SQL Object used in process flows can issue a cancel operation, but the effectiveness of the cancellation will depend upon the underlying database interfaces.

Parameters:

Parameter

Description

Service to cancel *

Upon execution, the identified service(s) in this field will be sent a cancellation request. The service(s) specified here should offer an OnCancel/cancellation edge to terminate the execution thread. You can specify an individual service name, a comma-delimited list of service names, or a space-delimited list of service names. Service names with spaces, commas, or other special characters must be enclosed in quotes.

Edges:

The following table lists the available line edges for the Cancel Service (com.ibi.agents.XDCancelAgent).

Line Edge

Description

OnError

Error

OnSuccess

Success

OnFailure

Failure

OnCustom

  • OnError
  • OnSuccess
  • OnFailure
  • fail_parse

Example:

In the following cache example, the CancelReal node represents the Cancel Service (com.ibi.agents.XDCancelAgent).

In this process flow, the CancelReal node is configured to cancel the AccessReal database access, which is anticipated to be slower than the AccessCache operation.

Although the local and remote sides of this process flow each go to the Junction node and thus to the End node, only one side will reach it.

Caches are very timing dependent. As a result, this example is simplified and is not intended to show a fully working cache.