0

business process

I'm trying to implement a business process (partially shown in the figure), using JBPM and the Business Central Workspace. The business process is built without errors, but then when I deploy it, the behaviour is not the one expected.

Specfically, the behaviour that I would like to obtain is the following:

  1. The process starts when a temperature OR co2 message is received (it is not possible to know if the first event received is the temperature or the co2 one).
  2. When a temperature message is received, TaskTemperature is executed.
  3. When a co2 message is received, TaskCO2 is executed.
  4. After that both a temperature AND a co2 messages are received, TaskJoined should be executed.

Instead, running the process in the figure above, the behaviour that I obtain is the following:

  1. The process starts when a temperature OR co2 message is received (it is not possible to know if the first event received is the temperature or the co2 one).
  2. When a temperature message is received TaskTemperature is executed.
  3. When a co2 message is received TaskCO2 is executed.
  4. The process "stops" in the Gateway and TaskJoined is never executed.

Is there another way to obtain the behaviour that I want?

I know that if I modify the process in this way

Alternative Business Process

the TaskJoined is correctly executed, but, since in my case, there is no a predefined sequence for the two messages, this solution cannot work for me.

Davide
  • 113
  • 1
  • 5

1 Answers1

0

Basically you're asking for two signal starting points which AIFAIK is not recommended. alternatively, i would suggest is to start your process with any one of the event (create a wrapper on top of your data) then simply skip the wait state which you have already received on start event.

bpmn diagram courtesy: duckflow

example

Abbas Kararawala
  • 1,254
  • 12
  • 19