2013-08-29 3 views
1

Я использую механизм Jess rule с java, и у меня есть шаблонный персонаж с рядом фактов. Я исключаю правило, касающееся лиц, и я хотел бы получить количество фактов, которые удовлетворяют правилу и загорелись. Это возможно; e.g.Command engine.executeCommand («(run)») возвращает только 0 или 1 в случае, если правило было запущеноJess вопрос о фактах и ​​правилах

ответ

0

В зависимости от того, что именно вам нужно, вы можете сделать несколько действий. Функция (run) фактически возвращает количество правил, которые были запущены, поэтому, если каждый факт активирует одно правило, тогда это будет возвращать значение (run).

Если вам нужно сделать что-либо более сложное, то вы можете зарегистрировать JessEventListener, чтобы получать уведомление, когда срабатывает каждое правило. JessEvent будет содержать всю запись активации для правила, чтобы вы могли пройти через нее и подсчитать факты, как вам нравится. Поскольку правила могут соответствовать отсутствию фактов или наличию как минимум одного факта, который подходит для шаблона и т. Д., Вопрос о том, «сколько фактов активирует правило», не совсем прост. Но с записью активации в руке вы можете считать их, как вам нравится.

+0

Спасибо, господин Хилл, я решил проблему с (run), немного изменив свой Java-код. – sakias

 Смежные вопросы

  • Нет связанных вопросов^_^