我想执行另一个项目中的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();


在构建规则会话时只需执行相同的操作,然后您就可以执行类似的操作

kcontext.startProcess(<ID HERE>);


高温超导

关于java - 从Drools Rule执行bpmn文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24912179/

10-09 03:55