If the state machine stops in a state that can be left only by receiving a completion signal, the state machine stalls. Stalled objects can happen, if e.g.

  • the xUML Runtime aborts the persistent state transition due to a license violation and the objects are stuck in a state.
  • an error occurs that leads to a completion transition being rolled back and you have no error handler defined
  • the error handler himself throws an error.

Stalled objects are displayed on the object list of a persistent state class.

Select a State from the drop-down list. The number in brackets indicates the count of objects that are stalled in that state.

You can treat stalled persistent state objects in two ways:

  • delete them
  • trigger a retry

Deleting Stalled Persistent State Objects

Stalled persistent state objects can be deleted just as any other persistent state objects. Refer to Persistent State Classes and Objects of xUML Services for more information on how to do this.

You must take into account that deletion of the objects affects the processing of the service and not all processing may have been performed. You will have to check manually, if everything has been processed correctly.

Triggering a Retry

You can retry stalled persistent state objects:

  • retry all stalled objects in a state
  • retry a single object

Retrying will trigger a completion signal being send to the selected objects.

Retrying All Stalled Objects in a State

To retry all stalled objects of a specific state, click Retry all objects from the Persistent State Classes view (see picture above).

Retrying a Single Stalled Object

Select an object from the list by clicking its key.

On the Object Details view, you can trigger the retry of this object by clicking Retry.