使用从POJO添加的多个业务规则执行Drools流程

时间:2018-10-12 14:30:29

标签: drools drools-kie-server

我创建了一个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

谢谢。

0 个答案:

没有答案