设置或更新 JBPM6 流程变量的正确方法

2023-11-30

我正在尝试设置过程变量,但出现以下错误

java.lang.IllegalStateException: Process instance 10[SampleBusinessProcess] is disconnected.
at org.jbpm.process.instance.impl.ProcessInstanceImpl.getProcess(ProcessInstanceImpl.java:100)
at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.setVariable(WorkflowProcessInstanceImpl.java:343)

这是我的代码 -

ProcessInstance processInstance = runtimeEngine.getKieSession().getProcessInstance(processInstanceId);
((WorkflowProcessInstanceImpl) processInstance).setVariable("myvariable", "myvalue");

请帮助我找到设置过程变量的最佳方法。

Thanks.


我建议使用 jbpm-services 与引擎交互,这提供了设置变量的操作:https://github.com/kiegroup/jbpm/blob/7.7.0.Final/jbpm-services/jbpm-services-api/src/main/java/org/jbpm/services/api/ProcessService.java#L223

或者,如果您确保您的代码在同一个事务中执行(例如,您自己围绕当前拥有的代码启动并提交事务),您将能够以这种方式设置变量,因为流程实例将仅在事务提交后立即断开连接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置或更新 JBPM6 流程变量的正确方法 的相关文章

随机推荐