0

我通过使用变量作为参数调用 startProcessInstanceByMessage 来开始我的流程。在该过程开始并调用所有服务任务之后。当过程结束时,我得到变量的响应。

我不想等到流程以响应结束。这可能需要很长时间,客户等不及了。我想要的是例如。进程启动后返回的 processId 变量,所有其他任务应在后台运行,无需客户端等待。 在此处输入图像描述

如上所述,我希望在开始事件之后、任务 1 之前从我的 REST Api 响应。任务 1 到 N 应该在后台工作。

我尝试在可流动的 BPMN 的 XML 配置中使用异步标志。不幸的是,在我的服务任务中,我使用带有@Autowire 的bean。调用过程后我得到异常

No thread-bound request found: 
Are you referring to request attributes outside of an actual web request  

有什么建议如何在启动事件后获得响应并在没有客户端等待响应的情况下继续任务?

4

1 回答 1

0

为了能够在后台运行任务 1、任务 2 等,您需要asynchronous在第一个任务上设置标志。

我不知道您在服务任务(expression, delegateExpression, class)中使用的是什么。如果您使用class的是 Spring,则不建议使用。您应该expression在您的 bean 上使用和调用方法,或者使用delegateExpression并让您的 bean 实现JavaDelegate

于 2019-07-01T09:04:52.590 回答