【问题标题】:Activiti Rest Exception HandlingActiviti 休息异常处理
【发布时间】:2018-01-18 17:27:00
【问题描述】:

我的项目中有一个 Activiti 工作流程。它包含几个服务任务,这些任务执行不平凡的逻辑,并且可能由于多种原因而失败。

我将 Activiti 部署为 REST 独立应用程序。

当我调用 Activiti REST API 并且它失败并出现一些错误时,它返回“500 Internal Server Error”而没有任何详细信息,并且为了解决问题,我需要检查日志。

我尝试将问题原因存储在流程变量中,并在失败后通过附加请求检查这些变量,但这似乎不正确,因为此错误可能会被后续请求覆盖。 (并发问题)

那么,您能否建议如何使用 Activiti REST API 获取服务任务问题?如果没有额外的请求,那就太好了。

【问题讨论】:

  • 在您的情况下,最好的方法可能是推出您自己的 API,补充 Activiti 的原生 API,以便返回您需要的信息。请注意,异步服务任务中的错误不会被初始调用“看到”。
  • 能否请您更具体地说明您的问题?一个sn-p的代码会很有帮助。你可以在最新版本的activiti中拥有边界事件、异常处理程序。
  • 例如 service task witj 以下代码:{if (random % 2 == 0) throw new exception1() else throw new exception 2() } 我怎么知道通过 rest 抛出了哪个特定异常api?

标签: java rest error-handling activiti


【解决方案1】:

我为 activiti 编写了一些异常记录代码,它将工作流中可能发生的任何类型的异常保存到数据库中。此代码仍未合并到 activiti,但您可以将其用于测试目的。

您可以在此处找到代码: https://github.com/anoopvrma/Activiti/tree/resume-process

这将为您提供足够的异常详细信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 2019-10-09
    • 2011-07-28
    • 2022-08-22
    • 2021-06-29
    相关资源
    最近更新 更多