可触发 java 服务任务的重试失败
Retry failures for triggerable java service tasks
在处理可触发服务任务的失败时,我不确定如何处理重试。
让我们来看一个简单的 bpmn,它遵循 startEvent → serviceTask(async = true 和 triggerable = true)→ endEvent
serviceTask(我们的自定义 JavaDelegate)对另一个服务(让我们调用 serviceB)进行休息调用并进入等待状态。然后 serviceB 将使用 SUCCESS/FAILURE 回调对我们的流动服务进行回调。如果成功回调,我可以触发并完成任务。
需求:如果回调失败,如何保证重试JavaDelegate.execute()方法?因为flowable的控件现在处于serviceTask的wait状态。
我们的用例是重试上述要求 3 次。重试 3 次后将执行移至死信。当试图从死信中恢复执行时,它应该再次从 JavaDelegate.execute().
开始
要重试您的“serviceTask”,您可以使用
processEngine.getRuntimeService().createChangeActivityStateBuilder()
.moveExecutionToActivityId(activity.getExecutionId(), activity.getActivityId())
.changeState();
https://forum.flowable.org/t/retry-javadelegate-which-is-triggerable/5225
在处理可触发服务任务的失败时,我不确定如何处理重试。
让我们来看一个简单的 bpmn,它遵循 startEvent → serviceTask(async = true 和 triggerable = true)→ endEvent
serviceTask(我们的自定义 JavaDelegate)对另一个服务(让我们调用 serviceB)进行休息调用并进入等待状态。然后 serviceB 将使用 SUCCESS/FAILURE 回调对我们的流动服务进行回调。如果成功回调,我可以触发并完成任务。
需求:如果回调失败,如何保证重试JavaDelegate.execute()方法?因为flowable的控件现在处于serviceTask的wait状态。
我们的用例是重试上述要求 3 次。重试 3 次后将执行移至死信。当试图从死信中恢复执行时,它应该再次从 JavaDelegate.execute().
开始要重试您的“serviceTask”,您可以使用
processEngine.getRuntimeService().createChangeActivityStateBuilder()
.moveExecutionToActivityId(activity.getExecutionId(), activity.getActivityId())
.changeState();
https://forum.flowable.org/t/retry-javadelegate-which-is-triggerable/5225