Как обмениваться данными между правилами Drools на карте? - PullRequest
0 голосов
/ 02 декабря 2011

У меня есть правило, которое принимает Map() как факт, а затем устанавливает множество элементов для этой карты.Я хочу иметь возможность использовать эту карту где-то еще при выполнении других правил.Я читал о глобалах в Drools, но кажется, что они не должны использоваться для этой цели.Сейчас я храню эту карту как частную собственность в классе Java, чтобы она могла хранить все данные в контексте веб-приложения, но это увеличивает объем используемой памяти.Я знаю, это может показаться странным, но есть ли в правилах Drools аналогия со статическими полями Java?

Заранее спасибо!

1 Ответ

0 голосов
/ 03 декабря 2011

Можете ли вы объяснить немного больше о том, что ваше правило пытается достичь? В большинстве случаев вам следует переформулировать правила, чтобы они соответствовали вашим потребностям. Правило, которое фильтрует Map (), требует, чтобы экземпляр java.util.Map был вставлен в сеанс знаний. Если вы добавите карту как глобальную, ваши правила не смогут напрямую фильтровать карту (). Я обычно рекомендую использовать более структурированные факты / объекты для написания правил вместо общих структур. Помните, что если вы вставите экземпляр java.util.Map в сеанс, эта карта будет доступна для всех правил, которые фильтруют тип объекта Map ().

Надеюсь, это поможет, если вы сможете предоставить больше информации, мы сможем помочь вам в дальнейшем.

Приветствия

...