我创建了一个process-sampleFlow.bpmn2(在业务任务中添加的示例规则),并且在kModule.xml中定义了相同的过程。现在,在带有kieContainer的main方法中的简单pojo类中,它可以启动过程并触发关联的规则。但仅当规则和过程被放在同一程序包下时。不知道我是否想念任何东西。
POJO类别:
KieServices ks = KieServices.Factory.get();
KieContainer kContainer = ks.getKieClasspathContainer();
KieSession kSession = kContainer.newKieSession("ksession-process");
Participant request = new Participant();
request.id="123";
kSession.insert(request);
kSession.startProcess("defaultPackage.sampleRuleFlow");
kSession.fireAllRules();
kModule.xml
<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
<kbase name="process" packages="process">
<ksession name="ksession-process"/>
</kbase>
</kmodule>
规则:
rule sample1
ruleflow-group "group1"
when
then
System.out.println( "Sample1" );
end
rule sample2
ruleflow-group "group2"
when
then
System.out.println( "Sample2" );
end
谢谢。