2013-10-16 2 views
2

callActivity를 보상 성공적인 varible이 false로 설정된 REST API에서 처리하면 보상 이벤트가 발생합니다.내가 주 과정 "compensateProcess의"활동 "someProcess를"호출이

First task 
second task 
hello 
compensate second task 
compensate first task 

는 따라서 "보상 안녕하세요"작업이 실행되지 않습니다

{"processDefinitionKey":"compensateProcess", "variables":[{"name": "successful", "value": false}]} 

와 나는 다음과 같은 출력을 얻을. 통화 활동과 연결된 경계 이벤트가 없어 정상적인 상황 일 수 있습니다. 보상 행사를 피 호출 사업으로 전달할 수 있습니까? 목표는 중복 코드로 이어질 수있는 "hello compensate"작업을 다시 구현하지 않아도되도록하는 것입니다.

callActivity를 포함 된 하위 프로세스로 바꾸면 보상이 예상대로 실행됩니다.

답변

0

Compensate Hello이 실제로 트리거되어야하는 경우 주 프로세스에서도 복제해야합니다. Activiti의 사용 설명서 (현재 5.15)에서

:

Compensation is not propagated to sub process instances spawned by call activities. 

당신은 Userguide에서 그것을 확인할 수는 조금 아래, Current limitations 섹션을 확인하시기 바랍니다.