JBoss Drools вставляет факты из ДХО - PullRequest
2 голосов
/ 15 февраля 2011

Мне нужна моя WorkingMemory, чтобы быть в курсе фактов, которые созданы в DRL следующим образом:

rule "Your First Rule"
when
    $testRule : TestRule(count >= 100)
then 
    System.out.println("100 PACKETS");
end

Есть ли способ заставить WorkingMemory узнать о факте TestRule и затем иметь возможностьобновляться?Моя цель - получить правило, чтобы узнать, когда было получено 100 пакетов.

1 Ответ

2 голосов
/ 15 февраля 2011

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

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.Обновление необходимо для того, чтобы сообщить drools о необходимости обновить дерево повторов.

...