簡體   English   中英

從Drools Rule執行bpmn文件

[英]Execute bpmn file from Drools Rule

我想執行另一個項目中的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>);

HTH

我認為您在kieSession.startProcess("com.sample.bpmn.hello");有錯誤kieSession.startProcess("com.sample.bpmn.hello"); kieSession不知道ID: "com.sample.bpmn.hello" ,因此拋出錯誤:Unknown Process ID。

在文本或xml編輯器中打開bpmn文件,然后查找以下代碼行:

    ...
    <process processType="Private" isExecutable="true" id="Sample" name="Sample Process">
    ...

id="Sample"是進程ID。 因此,您的代碼應如下所示: kieSession.startProcess("Sample");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM