- Task の中で発生した例外を Flow の中で処理する場合には、Exception Boundary を Task や Sub Flow に割り付ける
- Task で例外事項が起きたときには BPMNError を発生させる
- Boundary の code 要素で、BPMNError の第一引数で指定したエラーコードに合致するフローが起動される
- この例の場合では、PostRetryTask? が起動されて、標準出力に「Retry失敗」が表示される
- ErrorTask?
public class ErrorTask implements JavaDelegate {
@Override
public void execute(DelegateExecution execution) {
throw new BpmnError("RetryError", "おなかいたい");
}
}
- PostAbortTask?
public class PostAbortTask implements JavaDelegate {
@Override
public void execute(DelegateExecution execution) {
System.out.println("異常終了");
}
}
- PostRetryTask?
public class PostRetryTask implements JavaDelegate {
@Override
public void execute(DelegateExecution execution) {
System.out.println("Retry失敗");
}
}