Im Moment habe ich eine große Entscheidungstabelle mit vielen Bedingungen/Aktionen. Die Entscheidungstabelle hat immer funktioniert, bis ich kürzlich eine neue Aktion hinzugefügt habe. Es scheint nicht ausgeführt zu werden.Drools - Nicht alle Aktionen werden ausgeführt, wenn die Regel ausgelöst wird
Wie ich bin nicht in der Lage die gesamte Datei zu zeigen, das ist der Extrakt der wichtigsten Säulen (darüber im Klaren sein, dass es mehr Bedingungen):
Im Folgenden sind die Aktionen, die auf dem definierten " orig“Objekt:
die folgenden Felder werden durch die Setter aktualisiert:
- PRM_LIB01
- PRM_LIB09
- PRM_LIB10
wird jedoch PRM_LIB18 nicht aktualisiert. Selbst wenn ich die Aktion von PRM_LIB10 und PRM_LIB18 umschalte, wird nur die Spalte von PRM_LIB10 aktualisiert.
Wenn ich durch den Code debuggen, ich sehe, dass die RuleBuildContext alle Setter für die erste Regel gilt:
auf diese So basiert, würde ich erwarten, dass es die setPRM_LIB18 („GC“) auszuführen, wie naja, was nicht passiert.
Also habe ich versucht zu sehen, die Klassendatei Drools tatsächlich generiert, um zu sehen, ob alles in Ordnung scheint, aber ich bin nicht in der Lage, den generierten Bytecode richtig anzuzeigen.
Ich bin wirklich ratlos, warum es nicht funktioniert. Hat jemand eine Ahnung oder wie könnte ich den tatsächlichen Aufruf der Aktionen debuggen, um vielleicht zu sehen, warum es nicht ausgeführt wird?
Sind Sie sicher, dass keine Ihrer anderen Aktionen stören? Zum Beispiel, was macht 'blankOutPremiumFreeFields (orig)'? –