Drools erhalten zur Laufzeit Fakten aus der Datenbank

8

Ich brauche ein wenig Hilfe bei Drools eval und variable Zuweisung.

%Vor%

In dieser Regel versuche ich auf das Repository zuzugreifen und aktive Anfragen für den aktuellen Benutzer zu erhalten. Die Regel wird kompiliert und ohne Ausnahmen oder Warnungen ausgeführt. Im Debug-Modus sieht man, dass das Repository eine nicht leere Liste zurückgibt und ich erwarte, dass die Konsolennachricht "Sie haben aktive Anfragen" angezeigt wird, aber das passiert nicht. Ich denke, das Problem ist in dieser Zeile

%Vor%

weil diese Regel funktioniert

%Vor%

Könnte mir also jemand zeigen, wie ich dieses Problem lösen kann?

Danke!

    
ATMTA 24.05.2013, 15:40
quelle

2 Antworten

4

Mir wurde geholfen, eine Lösung zu finden. Ich sollte from collect expression anstatt simple from verwenden, um Fakten in die Sammlung zu bündeln:

%Vor%     
ATMTA 27.05.2013, 13:36
quelle
2

Sie müssen unterscheiden (z. B. das Kleingedruckte in der Dokumentation) zwischen "von" und "von sammeln". Wenn Sie die Regel möchten individuell für jedes von der Ausdruck nach "von", dann "von". Wenn Sie jedoch möchten Haben Sie alles in eine Sammlung gebündelt, müssen Sie "von Collect" verwenden.

%Vor%

Beachten Sie, dass das separate eval nicht erforderlich ist. Sie können dies setzen Einschränkung in das ArrayList-Muster:

%Vor%     
Ray 02.06.2013 19:33
quelle

Tags und Links