AnsweredAssumed Answered

Start SubProcess using a Signal?

Question asked by dognose on Oct 23, 2012
Latest reply on Oct 24, 2012 by dognose
Hello,

my Process should contain some subprocesses that can be started at any time under given conditions.
The Task that is "triggering" the Sub-Process needs to remain active. (Therefore i can not use a normal flow to the
subprocess, because this flow is only executed if the task is completed)

So i tried to achieve this, using signals, where I send a signal like this:


runtimeService.signalEventReceived("invokeSubProcessC");

I defined ImmediateSignalCatchingEvents for the Subprocesses like this:

CatchEvent -> [ Subtask ]


<intermediateCatchEvent id="catch_invokeSubProcessC" name="SignalCatchEvent">
  <signalEventDefinition signalRef="invokeSubProcessC"></signalEventDefinition>
</intermediateCatchEvent>

<sequenceFlow id="flow9" name="" sourceRef="catch_invokeSubProcessC" targetRef="subProcessC"></sequenceFlow>

<subProcess id="subProcessC" name="Sub Process">

</subProcess>

However, the subprocess is not created, i.e. no instance for the task following the subprocess' start event is created.

What am I doing wrong?

—-

The Activiti Eclipse Designer lacks of "Message" Objects - are they supported by activiti?
(I assume using messages instead of signals would be what i'm looking for)

Currently i'm using a workaround and "forking" the outflow of taskA, so that the subprocess is started and a "new" taskA is created.
However he changes his ID and therefore may not work as expected in a multi-user environment.

Got it:
Signal needs an incoming flow to entering the "waiting" State (so i added a Gateway right afer the Main-Process-Start-Event to send all Subprocesses in the "Waiting-for-signal"-State.

Outcomes