Retry Strategies

An operation can have a retry-strategy specified to define what will happen if the operation fails:

Strategy Description
none This is the default. No action taken. If the operation fails, the behavior will depend on the fail-on-error parameter. If fail-on-error="true", the workflow will fail. If fail-on-error="false", the next operation will be executed.
retry If the operation fails, it will be re-tried until the number of attempts reaches max-attempts, which defaults to 2.
hold If the operation fails, the workflow will be paused, until the user takes an action. The user can choose to Retry the operation or Abort it. The user can retry the operation many times, until the number of attempts reaches max-attempts. If the user aborts the operation, the behavior will depend on the fail-on-error parameter as described above.

Example 1: No retry

If the operation1 fails, the workflow will fail because fail-on-error="true".

  - id: operation1
    retry-strategy: none
    fail-on-error: true
    exception-handler-workflow: error
    description: Operation One

Example 2: Automatic retry

If operation2 fails, it will be retried until it succeeds or until it has failed 5 times.

  - id: operation2
    retry-strategy: retry
    max-attempts: 5
    fail-on-error: true
    exception-handler-workflow: error
    description: Operation Two

Example 3: Manual retry

If operation3 fails, the user can choose between Retry or Abort. The user can manually retry the operation 4 times.

  - id: operation3
    retry-strategy: hold
    max-attempts: 5
    fail-on-error: true
    exception-handler-workflow: error
    description: Operation Three