重复的规则名称

时间:2017-06-17 12:12:24

标签: drools kie-workbench

我正在使用kie-workbench。从引导决策表引导规则Tamplet 创建规则时。它抛出错误“变量的重复声明”。但是如果使用DRL文件创建相同的规则,它可以正常工作。

Rules.drl

package in.drooltest.test2;
import in.drooltest.coupon.model.Order;

rule "rulesdrl22_0"
    dialect "mvel"
    when
        ooorrr : Order( customerId == 1 )
    then
        ooorrr.setAmount( 232323232 );
end 

在java项目中调用它。

KieServices kieServices = KieServices.Factory.get();
ReleaseId releaseId = kieServices.newReleaseId("in.drooltest", "test2", "1.0");
KieContainer kieContainer = kieServices.newKieContainer(releaseId);
KieScanner kScanner = kieServices.newKieScanner(kieContainer);
kScanner.start( 10000L );


KieSession kSession = kieContainer.newKieSession();
Order order = new Order();
order.setCustomerId(100000000);
kSession.insert(order);

kSession.fireAllRules();
kSession.dispose();

此规则由Guided Decision Templet生成。它会抛出运行时错误.. 无法构建KieBaseModel:defaultKieBase [4,0]:重复规则名称:rulesdrl22_0变量'ooorrr'的重复声明

但删除模板并将其粘贴到rules.drl文件后,它按预期工作。

尝试删除jar文件并重新生成它,但没有帮助。

0 个答案:

没有答案