Слюни - ошибка с оператором «после» - PullRequest
0 голосов
/ 30 декабря 2011

В последнее время я работаю с компонентом Drools.Я нашел очень интересную вещь.Проблема в том, что слюни двигателя не запускают условия, которые используют «после» оператора.Это условие не всегда работает.В случае ошибки требуется, чтобы внешние события поступали в систему немедленно.Это означает, что если установить таймер на 10 миллисекунд между наступающими событиями, все будет работать нормально.Если события поступают в систему постоянно (без таймера, см. Мой код ниже) через некоторое время, правила не срабатывают.

Для получения дополнительной информации, пожалуйста, прочтите мой блог: http://i -liger.com / article /проблемы-слюни

Буду очень признателен за любую помощь или предложение.Заранее спасибо !!

Ответы [ 2 ]

0 голосов
/ 23 января 2012

Модуль оценки после сопоставляет два события и сопоставляет, когда временное расстояние от текущего события до сопоставляемого события соответствует диапазону расстояний, объявленному для оператора.

Интервал временного расстояния для оператора после является необязательным: Если определены два значения (как в примере ниже), интервал начинается с первого значения и заканчивается на втором. Если определено только одно значение, интервал начинается со значения и заканчивается положительной бесконечностью. Если значение не определено, предполагается, что начальное значение равно 1 мс, а конечное значение равно положительной бесконечности.

решение: изменить "после" -> "после [0 мс]"

0 голосов
/ 31 декабря 2011

Что ж, похоже, вы не все делаете правильно ... Я имею в виду ... просматривая ваши правила, вы проверяете, одно событие следует за другим, но слюни будут проверять все возможные комбинации во всех правилах, которые вы написали. Проверка статуса вашего приложения, добавление этих правил становится невозможным для сопровождения. Не могли бы вы указать, чего именно вы пытаетесь достичь с помощью Events и Drools? Мы можем помочь вам разработать ваше решение. Приветствия

...