handles an external signal.
An external signal that comes into an execution through one of the {@link ExecutionService#signalExecutionById(String)} methods. It will be delegated to the activity in which the execution is positioned when it receives the external trigger.
The signal method implements how the activity will react on that signal. For example, the outgoing transition could be taken that corresponds with the given signal.
@param execution the {@link Execution} for which the signal is given
@param signalName is an abstract text that can be associated with a signal. this corresponds to e.g. a method name in a java class interface. The implementation can decide e.g. to use the signal to identify the outgoing transition.
@param parameters is extra information that can be provided with a signal.In this way, it is somewhat similar to the parameters that can be fed into a method invocation through reflection.
@throws Exception to indicate any kind of failure. Note that exceptions are considered non recoverable. After an Exception, the execution should not be used any more and if this is during a transaction, the transaction should be rolled back.