Java jBPM 6.1无法恢复进程
我们可以挂起这样的流程实例:Java jBPM 6.1无法恢复进程,java,jbpm,Java,Jbpm,我们可以挂起这样的流程实例: org.jbpm.process.instance.ProcessInstance processInstance = //...; processInstance.setState(STATE_SUSPENDED); 要恢复,请执行以下操作: kieSession.getWorkItemManager().completeWorkItem(processInstance.getId(), params); 但它不起作用。。。有什么问题 谢谢。要恢复进程,请使用
org.jbpm.process.instance.ProcessInstance processInstance = //...;
processInstance.setState(STATE_SUSPENDED);
要恢复,请执行以下操作:
kieSession.getWorkItemManager().completeWorkItem(processInstance.getId(), params);
但它不起作用。。。有什么问题
谢谢。要恢复进程,请使用processInstance.setState(processInstance.STATE\u ACTIVE)。WorkItemManager操作WorkItem(web服务调用、人工任务、客户处理程序等),而不是ProcessInstance 请尝试以下代码:
KieSession ksession=......
ProcessInstance processInstance = ksession.startProcess(......
//suspend:
SuspendProcessInstanceCommand susp=new SuspendProcessInstanceCommand();
susp.setProcessInstanceId(processInstance.getId());
ksession.execute(susp);
//confirm suspended:
assertEquals(ProcessInstance.STATE_SUSPENDED, ksession.getProcessInstance(processInstance.getId()).getState());
//resume:
ResumeProcessInstanceCommand res=new ResumeProcessInstanceCommand();
res.setProcessInstanceId(processInstance.getId());
ksession.execute(res);
//confirm active:
assertEquals(ProcessInstance.STATE_ACTIVE, ksession.getProcessInstance(processInstance.getId()).getState());
好的,我不完全确定您是从哪个上下文执行代码的,但是如果您查看jbpm flow项目中org.jbpm.process.instance.command.ResumeProcessInstanceCommand的代码,您可能会更好地了解需要做什么。在jbpm 6中重新启动服务器时,是否可以保留全局和局部变量?