私は Drools にまったく慣れておらず、探索中です。これまで、私は 1 つのルールを使用してきましたが、Java と同じように if 条件を使用していました。
ここで、複数の if チェーンと else チェーンを使用する必要がある複雑なルールを使用する必要がありましたが、一連の条件の 1 つが満たされたときに終了する必要がありました。
私はアパッチ キャメルからよだれを呼び出します。ルールは Camel に返信する必要があります。
if および else 条件のいずれかが失敗したときに、ルールのチェーンを破り、Camel コードである呼び出し元に応答を返すにはどうすればよいですか。
1. 複数の end ステートメントを使用して返信することはできますか?
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
私の2番目のコメントの後のサンプル
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