Я новичок в Drools и попал в проблему.Drools: Правило срабатывает несколько раз
Я упростил правила, чтобы показать проблему:
rule "test"
when
$ev : TestEvent()
$evList : ArrayList(size >= 3) from collect
(
TestEvent(linkId == $ev.getLinkId())
)
then
System.out.println("Rule fired!")
end
В принципе, я хочу считать события, происходящие на определенном Link (Ссылка является участок дороги). Когда в одной и той же ссылке происходит 3 события, я хочу, чтобы правило срабатывало.
Правило выше почти работает, но когда оно срабатывает, оно срабатывает 3 раза, один раз для каждого события. Я только хочу, чтобы он выстрелил один раз.
Что мне не хватает?
Большое спасибо заранее.
Спасибо за ответ - полезный подход. Я действительно передумал, что я делаю, и изменил способ структурирования моего дизайна. Я опубликовал решение, с которым я пошел, но отметил это как ответ, потому что он, вероятно, полезен для других. –