Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.7.3
    • Component/s: Automation

      Description

      When running an Automation Chains, errors can occur (ex: mail server not available, doc not found ...).

      We must provide a way for Studio user to be able to define how exception must be managed.
      The idea is to manage Exceptions inside dedicated Automation chains.

      In Studio, user can declare several "catch" chains bound to the main chain. For each catch chain, he gives an index, and also gives an optional mvel expression that returns a boolean, and that is a condition for the catch chain to be ran. Such an expression can be :

       Exception.type=="TransactionTimeOutException" and documents.size > 5000

      A new set of operations is added:

      • Rollback Transaction: will rollback the current transaction (and fires a TransactionRollbackException ? )
      • Fire UI Bubbling Exception (message): will fire a UI Bubbling Exception with the message given in parameter and mark transaction as roll-backed
      • Fire Exception (Exception class name, message)
      • ?

      Those operations accepts void and returns void.

      At runtime, when an exception happens for which some catch chains were contributed, catch chains expressions are evaluated by index order, the first one to be evaluated to true is ran, injecting in the context:
      The Exception object (a new automation context wrapper is required here) and in input the initial input of the chain in which the Exception happened. It is the responsibility of the person designing the chain to make sure that the catch chain has a correct "path" for the given input.

      Technically, there is an evolution of the automation chain extension point for binding those "catch" chains, and a UI evolution in Studio for doing this binding.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 2 weeks
                  2w
                  Remaining:
                  Remaining Estimate - 2 weeks
                  2w
                  Logged:
                  Time Spent - Not Specified
                  Not Specified