JBoss Drools вставляет факты из ДХО
Мне нужна моя WorkingMemory, чтобы быть в курсе фактов, которые создаются в DRL следующим образом:
rule "Your First Rule"
when
$testRule : TestRule(count >= 100)
then
System.out.println("100 PACKETS");
end
Есть ли способ получить WorkingMemory, чтобы узнать о факте TestRule и затем иметь возможность быть обновленным? Моя цель - получить правило, чтобы узнать, когда было получено 100 пакетов.
1 ответ
Решение
Обычно я создаю что-то как часть правила и использую это как флаг. Если вам не нужно ничего создавать, то вы можете создать флаг, например
rule "Your First Rule"
when
$testRule : TestRule(count >= 100)
not Flag(id="packets")
then
System.out.println("100 PACKETS");
insert( new Flag("packets") )
update( $testRule )
end
Я не думаю, что этот код является правильным, но я думаю, что вы можете понять идею... И вам нужно будет создать класс с именем Flag. Обновление необходимо для того, чтобы сообщить слюнам, что необходимо обновить дерево повторов.