Drools中规则的多个端点
我完全不喜欢流口水,只是在探索。到目前为止,我只使用了一个规则,我们使用if条件,就像java一样 现在我不得不使用复杂的规则,在这里我需要使用多个if和else链,但当一系列条件中的一个满足时,就结束它 我叫阿帕奇骆驼的口水。这些规则应该回复到Camel 现在,当if和else条件之一失败时,如何打破规则链,然后将响应发送回调用方,这是驼峰代码 1.我可以使用多个结束语句进行回复吗 2.我会使用函数,我知道用java编写函数并导入 3.是否有可能在Drools中创建函数并像在java中一样使用 我并没有按照应该使用的方式使用Drools,但到目前为止,规则并没有我们现在使用的那么复杂。任何帮助对我都是有用的 这里有一个例子,我想使用请建议,如果下面的工作或其他一些类似下面的替代方案Drools中规则的多个端点,drools,drools-guvnor,drools-fusion,drools-flow,Drools,Drools Guvnor,Drools Fusion,Drools Flow,我完全不喜欢流口水,只是在探索。到目前为止,我只使用了一个规则,我们使用if条件,就像java一样 现在我不得不使用复杂的规则,在这里我需要使用多个if和else链,但当一系列条件中的一个满足时,就结束它 我叫阿帕奇骆驼的口水。这些规则应该回复到Camel 现在,当if和else条件之一失败时,如何打破规则链,然后将响应发送回调用方,这是驼峰代码 1.我可以使用多个结束语句进行回复吗 2.我会使用函数,我知道用java编写函数并导入 3.是否有可能在Drools中创建函数并像在java中一样使用
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
我不知道你说的“打破一系列规则”是什么意思。当不再需要执行任何规则激活时,评估规则将自行结束 对1的答复3.:
then
和规则的实际end
之间使用end
。如果要终止规则的结果部分,请使用Java的return
语句(当然不带表达式)
重新考虑在结果中使用复杂的条件语句。逻辑决策应该用规则的条件部分表示
很久以后由于可能存在Guvnor错误而采取的解决方法-不接受返回
boolean skip = false;
if(){
} else
if() {
skip = true; // return;
} else
if() {
}
if( ! skip ){
if(){
} else
if(){
skip = true; // return;
}
}
if( ! skip ){
if (){
}
}
结束谢谢你的回答。我看到了功能一。但是我想编写一个我现在在问题中添加的示例。你能证实这一点吗?@NaveenRaj在我的回答中添加了一条关于规则的评论。它说void方法不能返回值。你能帮我吗?看我的回答:“返回声明…没有表达”我只给出了“返回”;我没有表达就没有得到。。你是说在什么时候?请向我澄清。。