我想执行另一个项目中的 bpmn 文件。 谁能告诉我该怎么做?
我的规则中有类似的内容,但它不起作用:
function performScenario()
{
KieHelper kHelper = new KieHelper();
KieBase kBase = kHelper.addResource(ResourceFactory.newFileResource("D:\\jbpm-installer\\workspace\\JbpmTest\\src\\main\\resources\\sample.bpmn")).build();
KieSession kieSession = kBase.newKieSession();
kieSession.startProcess("com.sample.bpmn.hello");
}
我遇到错误:未知的进程 ID
最佳答案
进程位于另一个项目中是什么意思?您需要将项目加载到同一个 ksession 中,以便能够从那里启动它。 而不是这样做:
kHelper
.addResource(
ResourceFactory.newFileResource("D:\\jbpm-installer\\workspace\\JbpmTest\\src\\main\\resources\\sample.bpmn")
)
.build();
在构建规则 session 时只需执行相同的操作,然后您就可以执行类似的操作
kcontext.startProcess(<ID HERE>);
HTH
关于java - 从 Drools 规则执行 bpmn 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24912179/