Слюни Правило для обработки 2 разных фактов, вставленных в определенное время
Мне нужно разобраться с ситуацией, когда меня уведомляют, когда в мою рабочую память поступают 2 разных факта в течение 30 секунд друг от друга. Затем я хочу, чтобы система удалила факты из рабочей памяти после их обработки.
Например, я хочу получить уведомление, когда система увидит логин от Боба, а затем он проверяет свою электронную почту в течение 30 секунд.
Я знаю, что это звучит банально, однако, это пример использования концепции и он предназначен для презентации очень высокого уровня.
Я пробовал это:
rule "Bob Login Rule" dialect "java"
when
Login( username == "bob" ) over window:time(30s);
UserAction (action == UserAction.CHECK_EMAIL) over window:time(30s)
then
System.out.println("Bob logged in and checked his email");
end
Заранее спасибо.
1 ответ
В этом случае вы знаете, что логин Доступны другие операторы, которые не требуют $login: Login( $uid: uid ) // a user logs in
$check: UserAction( uid == $uid, action == UserAction.CHECK_EMAIL, this after[0s,30s] $login)