Drools 如何防止向知识库中添加重复的规则

Drools 如何防止向知识库中添加重复的规则,drools,Drools,我只有一个知识库,有一些用户会创建规则并在一段时间内提交。 第1天: 规则名称:“Test1” 规则名称:“Test2” 我已创建knowledgePackage并将该包添加到konwledgebase 现在,当用户在第二天来提交另一组规则时。 规则名称:“Test1” 规则名称:“Test3” 我正在创建另一个knowledgePackage,将该软件包添加到同一知识库时,该软件包被成功添加。我希望由于规则已经存在而出现错误 如何确定规则是否已存在。还有其他人希望能够通过定义和添加具有相同名称

我只有一个知识库,有一些用户会创建规则并在一段时间内提交。 第1天: 规则名称:“Test1” 规则名称:“Test2”

我已创建knowledgePackage并将该包添加到konwledgebase

现在,当用户在第二天来提交另一组规则时。 规则名称:“Test1” 规则名称:“Test3”

我正在创建另一个knowledgePackage,将该软件包添加到同一知识库时,该软件包被成功添加。我希望由于规则已经存在而出现错误


如何确定规则是否已存在。

还有其他人希望能够通过定义和添加具有相同名称的不同规则来替换规则。因此,你不能取悦所有人

要进行检查,请访问KieBase以获取所有规则名称的列表:

List<String> ruleNames = new ArrayList<String>();
KieBase kBase = ...;
Collection<KiePackage> packages = kBase.getKiePackages();
for( KiePackage kPackage: packages ){
    for( Rule rule: kPackage.getRules() ){
        ruleNames.add( rule.getName() );
    }
}
List ruleNames=new ArrayList();
KieBase=。。。;
集合包=kBase.getKiePackages();
适用于(KiePackage kPackage:packages){
for(规则:kPackage.getRules()){
添加(rule.getName());
}
}