我对口水和探索完全陌生。到目前为止,我一直在使用一个规则和withing,我们使用if条件,就像Java一样。
2.我会使用函数,我知道的是用java编写函数并导入它们。
3.是否有可能在Drools中创建函数,并像在Java中一样使用?
我并没有以它应该使用的方式使用Drools,但到目前为止,规则还没有我们现在使用的规则那么复杂。任何帮助对我都是有用的。
rule "my rule"
when
#some condition
then
if(){
end
}else if(){
#do something
}
if(){
#do some other logic
}
end
When
object:SomeObject(); // This helps for my camel code to trigger this rule and this rule only
then
if(){
}
else if()
{
return;
}else if() {
}
if(){
}else if(){
return;
}
if(){
}
end
我不知道你说的“打破一系列规则”是什么意思。当没有更多的规则激活要执行时,iteself会结束对规则的评估,
1的答案。-3.:
>
否。-没有这样的东西我可以与术语“回应”联系起来,但没有“多个结束陈述[一个规则]”。
是的,您可以使用静态Java函数:导入类,调用它,就像在Java中一样。
是的。Drools手册中有一个标题为“函数”的部分对此进行了解释。示例来自手册:
函数字符串hello(字符串名称){返回“hello”+name+“!”;}
后来,由于可能的Guvnor bug的变通-不接受返回;
boolean skip = false;
if(){
} else
if() {
skip = true; // return;
} else
if() {
}
if( ! skip ){
if(){
} else
if(){
skip = true; // return;
}
}
if( ! skip ){
if (){
}
}
结束
我创建了一个规则,其“when”条件如下:- 上述条件运行良好。现在我如何在一个规则中添加多个布尔条件?为(如)。上面的规则可以概括为:a和b,所以如果我想创建一个规则:(a和b)或c,那么它的实际drl语法是什么。我对drools是新手,所以请帮助我了解规则(a和b)或C的语法。 我确实创建了一个语法 错误消息:Message[id=1,level=Error,path=mapiteration
我是流口水的新手,熟悉使用扩展关键字来继承规则。问题是有没有办法继承多个规则?这类似于在java类上使用多个接口。这是一个我希望它如何工作的示例,但我在规则3上遇到错误:
我的问题是: 在Drools规则中,有没有一种方法可以拦截“成功”事件?为了更好地解释。。。有一种方法可以在规则的所有条件都为真时调用侦听器? 注意:我不想设置一个全局对象(在会话上)来管理规则的“然后”子句中的这个条件。 我正在寻找一个已经在Drools上实现的解决方案 规则示例
谢谢
在为我的项目实现了一些规则之后,我做了一个“ScoreConsistencyCheck”,以确保规则得到了正确的实现。 表示实现我自己的方法,该方法将在我提前终止求解或通过配置终止后调用,输出预期分数。该方法的参数是一个实例,基于解决方案的状态计算预期分数,然后将其与来自解决方案实例的“分数”变量的分数进行比较。 当我使用时,它不会抛出异常,但是当我这样尝试时,我有时会在构建启发式或本地搜索的特定
我正在向drools规则引擎插入数据,但我无法理解它是如何处理插入的数据的。插入数据的代码是: