2010-11-15 20 views
5

Mam następujące zasady Droolsa, do których wysyłam mapę wypełnioną elementem, ale po jej wykonaniu mam element. Dlaczego otrzymuję wartość null, gdy wartość powinna wynosić "Y"? Kiedy umieszczam punkt przerwania w metodzie ACDebug.debug() i sprawdzam mapę po wykonaniu polecenia $ map.put(), wygląda dobrze, ma wartość "Y", ale po tym, jak moje reguły zostaną wykonane, mam wartość zerową? Czy ktoś ma podobny problem?Mapy i łańcuchy w regułach Drools

Odpowiedz

7

Po wprowadzeniu zmian na mapie należy wykonać aktualizację. Dzięki temu pamięć robocza wie, że zmodyfikowałeś mapę.

Dodaj następujący wiersz:

update($map); 
+0

dziękuję, to naprawdę pomogło. Widziałem przykłady bez wywołania aktualizacji() i myślałem, że to zawsze zadziała. – Zec