1
以下のユースケースのルールを作成したいと思います。 2つの「AddToCart」イベントと「Search」イベントが、記述された順序で正確に想定されています。 P.P.これは実際のビジネスユースケースではありません。蓄積関数を使用したイベントの流れ
現在、私は以下のルールで解決策を達成しようとしている:
rule "Rule-102"
salience 1000110000
agenda-group "level0"
dialect "mvel"
when
Number(doubleValue >= 2) from accumulate ($event1: Event(eval($event1.getName().equals('AddToCart'))),count($event1));$event: Event()
$event2: Event(eval($event2.getName().equals('Search')), this after $event)
then
sendEvent($event2, ed, drools);
end
イベントのシーケンスが適切に定義されていないため、このルールは正しくない動作します 検索 - > AddToShoppingCart - > AddToShoppingCart =アクション
私は、厳密な順序たい: AddToShoppingCart - あなたのルールが、この場合には(2 01パターンの小さなセットを伴う場合>検索=アクション
、それがお役に立てば幸いです:(evalの($ event1.getName()イコール( 'AddToCart'))。)のアプローチは、これらの線に沿って何かを試すことができます:イベント(eval($ event2.getName()。equals( 'AddToCart'))、これは$ event1の後) $ event3:イベント(eval($ event3.getName()。equals( 'Search'))、これは$ event2の後です) – DioNNiS