如何使用 JBPM 6 中的流程实例访问流程细节?

How to access process details using process instance in JBPM 6?

我开始按照文档使用 JBPM 6.3.0 Final。我能够启动流程实例并能够完成任务。

但是当启用持久性(持久性设置为真)时,我无法从流程实例访问流程详细信息。下面是我的代码。

ProcessInstance pi= ksession.startProcess("AssetCommissionRoutine.commission", params);
System.out.println(pi.getProcessName());

我什至尝试将其转换为 WorkflowProcessInstanceRuleFlowProcessInstance

当我尝试访问任何进程相关信息时出现以下错误。

Exception in thread "main" java.lang.IllegalStateException: Process instance 1[AssetCommissionRoutine.commission] is disconnected.

非常感谢任何帮助。

您是否尝试过再次获取流程实例?我知道它可能是在创建之后立即执行的,但是随着创建过程的进行,我必须这样做才能获取变量数据。但是,我在尝试 setVariable 时遇到了与您相同的错误。

ProcessInstance processInstance = ksession.startProcess("myclass", params);

long pid = processInstance.getId();
ProcessInstance pi2 = ksession.getProcessInstance(pid);
RuleFlowProcessInstance rfpi = (RuleFlowProcessInstance)pi2;
MyModel pVarMyModel = (MyModel)(rfpi.getVariable("myProcessData"));