如何使用Spring Boot在Flowable中启动事件后返回响应

时间:2019-06-19 12:46:46

标签: java spring spring-boot flowable

我通过使用变量作为参数调用startProcessInstanceByMessage来启动可流程。此过程开始后,将调用所有服务任务。 当过程结束时,我得到了带有变量的响应。

我不想等到过程以响应结束。这可能需要很长时间,客户无法等待。我想要的是例如。进程启动后返回的processId变量,所有其他任务应在后台运行,而无需等待客户端。 enter image description here

如上所述,我希望启动事件之后,任务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  

是否有任何建议如何在启动事件后获得响应并继续执行任务而无需客户端等待响应?

1 个答案:

答案 0 :(得分:0)

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

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