我希望实现在jbpm项目的任何用户任务中终止流程实例的能力。我知道理论上我应该能够通过将终止事件附加到工作流中的任何任务来完成这个任务,但是如果有这么多终止事件,这似乎是一个糟糕的解决方案。
有没有更好、更高效、更易读的方法来做到这一点?
发布于 2015-01-18 18:52:43
我不知道这是否更好,但你可以这样做:
kcontext.getProcessInstance().signalEvent("terminate",null);方法,其中”终止“是信号事件捕获的信号的名称。在这里您可以看到一种方法:48.png
发布于 2015-08-20 13:10:48
我们最终构建的应用程序使用了一个与JBPM服务接口的自定义前端。
为了在任何步骤终止进程,我们在创建主流程实例ID时将其记录在我们自己的数据库中。然后,我们创建了一个“取消项目”函数,它递归地收集单个主进程id下的所有进程id,然后通过远程API终止它们,从主进程id开始。
注意,如果这样做,您需要中止从主进程开始的流程实例列表,然后继续前进。如果没有,首先中止子进程可能会产生更多进程。
发布于 2022-03-31 09:40:43
如果希望删除该进程,可以使用以下代码:
processService.abortProcessInstance(processInstanceId);processService是以下接口:org.jbpm.services.api.ProcessService
这将删除、流程实例和与其关联的任务。
作为参考,此代码使用了org.jbpm:jbpm-services-api:7.65.0.Final
此代码是在与JBPM集成的spring引导应用程序中执行的。
https://stackoverflow.com/questions/27910474
复制相似问题