微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Camunda BPM 外部任务吞下了它的重试:如何反应例如使用条件流?

如何解决Camunda BPM 外部任务吞下了它的重试:如何反应例如使用条件流?

我想定期查询外部系统(在我的情况下为 DNS 服务器)以获取一些信息,直至达到某个最大重试次数。如果执行此数量的重试没有成功,如何反应?

现在有关我迄今为止编程的设置的更多详细信息:

在 Camunda BPM 引擎中,我配置了一个外部任务,它的主题由 Java 程序订阅。该程序执行检查(针对 DNS 服务器)。如果此检查成功,则任务被标记为已完成:

externalTaskService.complete(externalTask);

否则设置递减重试计数器失败(连同重试超时):

externalTaskService.handleFailure(externalTask,"Failure","[More failure details]",decrementedRetries,RETRY_TIMEOUT_MILLIS);

在吞下所有重试 (decrementedRetries == 0) 后,外部任务在 Camunda BPM 引擎中用红色标志标记,说明失败任务执行的数量等。

现在我想模拟另一个任务来应对这种情况(补偿步骤的执行)。您建议如何模拟触发此任务?

我尝试应用从第一个任务指向补偿第二个任务的条件流,但没有找到任何提示如何配置此条件流实例以对带有 {{ 的任务实例做出反应1}}。

谢谢

基督徒

解决方法

事件(“红色标志”)表示技术错误,一旦根本问题得到解决,可以通过增加重试次数来解决。

在处理任务过程中发生的应该通过流程模型处理的问题可以用数据或事件来处理,例如通过 BPMN 错误或升级事件进行通信。

多种选择:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。