Ich benutze Drools, um ein Objekt zu validieren. Das Objekt verfügt auch über eine getChildrenList() -Methode, die die untergeordneten Objekte zurückgibt, die zu diesem Objekt gehören (Master-Detail-Beziehung).Drools: Wie füge ich eine Tatsache ein, nachdem ich überprüft habe, ob sie nicht bereits im Arbeitsspeicher vorhanden ist
Ich habe einige Validierungen auf das Objekt und dann will ich das Kind validieren als auch Objekte, so füge ich alle das Kind als auch in den Arbeitsspeicherobjekte durch folgende Regel:
rule "Insert Children"
when
$parent : Parent (eval(childrenList != empty))
$ch : Child() from $p.childrenList
then
insert($ch);
end
Jetzt Wie kann ich sicherstellen, dass diese Regel nicht ausgelöst wird, wenn die Kinder bereits eingefügt wurden? Ich meine, weil ich einige Fakten modifiziere, wird die Regel erneut ausgelöst. Wie kann ich das verhindern?
Dank
Nein, das feine scheint - so etwas tun. Oder Sie können eine Flussgruppe oder etwas verwenden, um sicherzustellen, dass Sie das nur vorne tun ... –