2014-07-23 2 views
1

다른 프로젝트에있는 bpmn 파일을 실행하고 싶습니다. 누구든지이 작업을 수행하는 방법을 알려 줄 수 있습니까?Drools 규칙에서 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

답변

1

뜻이 다른 프로젝트에? 거기에서 시작할 수 있으려면 프로젝트를 동일한 ksession에로드해야합니다. 대신이 일을 : 당신이 당신의 규칙 세션을 구축 한 다음

kcontext.startProcess(<ID HERE>); 

HTH

0

같은 것을 할 수있을 것입니다 때

kHelper 
    .addResource(
     ResourceFactory.newFileResource("D:\\jbpm-installer\\workspace\\JbpmTest\\src\\main\\resources\\sample.bpmn") 
    ) 
    .build(); 

그냥 동일한 작업을 수행을 나는 당신이이 있다고 생각 kieSession.startProcess("com.sample.bpmn.hello"); 의 오류 kieSession은 ID : "com.sample.bpmn.hello"을 알지 못하므로 알 수없는 프로세스 ID 오류가 발생합니다.

텍스트 또는 XML 편집기에서 BPMN 파일을 열고이 코드 줄을 찾습니다

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

id="Sample"는 프로세스 ID입니다. 따라서 코드는 다음과 같아야합니다. kieSession.startProcess("Sample");