I am trying to build a workflow with a compensation event using the 5.2.0.Final build, i.e. something like this:
https://github.com/droolsjbpm/jbpm/blob/5.2.x/jbpm-bpmn2/src/test/resources/BPMN2-IntermediateThrowEventCompensate.bpmn2
Basically,
+ Compensating signal event node is attached to some action node.
+ When a 'compensation' signal is raised (maybe as part of the action node's processing itself or somewhere down the path), this event is triggered and starts execution of the compensation logic
However with the 5.2.0.Final build, the compensation signal event is not getting triggered. To rule out any issue with my setup, I unpacked the jbpm 5.2.0.final source, built and ran the test testCompensateIntermediateThrowEventProcess() in jbpm-bpmn2 (which is the closest to what I want). Even in this test the compensation event node is not getting triggered (test shows a false positive). Then I tried 5.3.0-SNAPSHOT and this scenario works just fine.
Compensations are a fairly key scenario for any workflow system and it is odd to have this not working in a .Final release :\
For now my question to someone familiar with this issue is that is there a workaround? Can I tweak something here and there in the workflow or my code to get compensation to work?
Thanks!