我在 BPMN2 流程模型中集成业务规则时遇到问题。所以我的过程看起来像这样
drl 文件只包含一条规则:
import com.sample.ProcessTest.User;
rule "AgeCheck"
ruleflow-group "AgeRules"
when
u:User (u.getAge()<17)
then
u.setName("Denied");
end
我的问题是我有两个参数 Age、Name,如果我不使用规则,我可以在网关、脚本进程上传递它们,但是当我使用业务规则任务时,它会在此节点处停止。
我从eclipse开始这个过程,
ksession.startProcess("_New.Process2", params);
System.out.println("Process started ...");
ksession.fireAllRules();
我添加了资源,
kbuilder.add(ResourceFactory.newClassPathResource("Process2.bpmn2"), ResourceType.BPMN2);
kbuilder.add(ResourceFactory.newClassPathResource("AgeRules.drl"), ResourceType.DRL);
在 RuleChecker 节点的属性中,rouleflow 组设置为 AgeRules,当我尝试运行我的项目时,我得到以下结果:
BEFORE PROCESS NODE TRIGGERED node:RuleChecker[id=5] process:Process2[id=_New.Process2]
BEFORE RULEFLOW GROUP ACTIVATED group:AgeRules[size=0]
AFTER RULEFLOW GROUP ACTIVATED group:AgeRules[size=0]
AFTER PROCESS NODE TRIGGERED node:RuleChecker[id=5] process:Process2[id=_New.Process2]
AFTER PROCESS NODE TRIGGERED node:InputUser [id=2] process:Process2[id=_New.Process2]
我不知道究竟是什么问题,因为该过程在规则检查器处停止。如果有人可以帮我解决这个问题,请解释一下是什么问题
亲切的问候, Hunor-Attila Kerekes