Я использую drools fusion для обработки событий, и я не понимаю следующее утверждение из документации:
Управляемый жизненный цикл: из-за своей неизменной природы и временных ограничений события обычно будут сопоставляться с другими событиями и фактами только в течение ограниченного периода времени, что позволяет механизму автоматически управлять жизненным циклом событий. Другими словами, если событие вставлено в рабочую память, механизм может выяснить, когда событие больше не может соответствовать другим фактам, и автоматически отозвать его, высвободив связанные с ним ресурсы.
От: https://docs.jboss.org/drools/release/5.3.0.Final/drools-fusion-docs/html_single/
Даже если у меня есть простое правило, подобное этому:
rule "log new measurement"
salience 1
enabled true
when
$m : Measurement(isDuplicated() == false)
then
logMeasurement(drools, $m)
end
.., мои измерения остаются в памяти. Какова рекомендуемая стратегия для устранения фактов?
Со всеми раздвижными окнами и правилами, основанными на времени, трудно предположить, когда факт больше не нужен.