как добавить значение атрибута продолжительности в drools

Всякий раз, когда я пишу продолжительность (0 с), она работает, но как только я изменяю ее на продолжительность (1 с) или продолжительность (5 с), правило не срабатывает... Это правило, которое я хочу сработать.

rule "ContainsChecking"

agenda-group "town4"

duration(0s)

when

Town(owner matches "[N || n][a-z]+")

then

System.out.println("Rule Fired ContainsChecking");

end

нам нужно что-то импортировать для работы атрибута продолжительности, потому что я нигде его не получаю. Заранее спасибо.


person Nishikant    schedule 18.09.2017    source источник


Ответы (1)


Вам нужно запустить сеанс, используя

kieSession.fireUntilHalt();

Если вы просто используете fireAllRules, повестка дня пуста, и вызов завершается.

Это функция CEP, и ее не нужно и не следует использовать в среде простых производственных правил.

person laune    schedule 18.09.2017
comment
поскольку я добавляю этот kieSession.fireUntilHalt(); в @test case.. выдает ошибку, что kiession не может быть разрешен. И что же мне делать. Спасибо. - person Nishikant; 18.09.2017
comment
Используйте идентификатор для ссылки на объект, с которой вы вызвали fireAllRules. (Откуда мне такие подробности вашей программы?) - person laune; 18.09.2017