Мое предположение не соответствует действительности. На основании activiti documentation:
Событие граничной компенсации имеет другую политику активации от других граничных событий. Другие граничные события, такие как, например, событие границы сигнала, активируются при запуске активности, к которой они привязаны. Когда действие остается, они деактивируются и соответствующая подписка на события отменяется. Событие границы компенсации отличается. Событие граничной компенсации активируется при успешном завершении операции. На этом этапе создается соответствующая подписка на события компенсации. Подписка снимается либо при срабатывании события компенсации, либо при завершении соответствующего экземпляра процесса. Из этого следует:
При срабатывании компенсации обработчик компенсации, связанный с событием граничной компенсации, вызывается столько же раз, сколько и активен, который он присоединен для успешного завершения. Если к событию с несколькими характеристиками экземпляра привязано событие граничной компенсации, для каждого экземпляра создается подписка на событие компенсации. Если к событию, содержащемуся внутри цикла, привязано граничное событие компенсации, подписка на событие компенсации создается каждый раз, когда выполняется действие. Если экземпляр процесса завершается, подписки на события компенсации отменены.
Обработчик события компенсации в подпроцессе такой же.
Таким образом, целью красных и оранжевых стрелок на данной фигуре должно быть задание на компенсацию: cancel flight
и cancel hotel
.