Слюни Правило для обработки 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)

Доступны другие операторы, которые не требуют

Другие вопросы по тегам