Как отладить таблицу решений слюни - PullRequest
0 голосов
/ 10 сентября 2018

Может ли кто-нибудь помочь мне отладить таблицу решений в Drools. Для нашего проекта мы создаем таблицу решений с более чем 1000 правил. Всякий раз, когда они являются ошибкой в ​​правиле, которое не работает с электронной таблицей, а также не показывает, где находится точная ошибка.

1 Ответ

0 голосов
/ 26 апреля 2019

Слюни: версия 7.15.0. Финал

В настоящее время я использую два подхода к отладке таблиц решений:

Фаза компиляции

В моем случае я должен сериализовать таблицы решений, чтобы сэкономить время - обычно они конвертируются в .drl файлы, которые затем оцениваются. Я пропускаю строку и собираю их напрямую, получаю базы знаний и сериализую их. Мое приложение использует эти сериализованные базы знаний.

Иногда мои таблицы решений не компилируются.

Я отлаживаю их, генерируя файл .drl. Ошибки, которые генерирует синтаксический анализатор drl, в основном можно идентифицировать из сгенерированного файла .drl.

Фрагмент кода для преобразования таблицы решений drools в соответствующий файл drl

Фаза времени исполнения

Иногда, даже если мои таблицы решений успешно скомпилированы, у них возникают некоторые проблемы во время выполнения - некоторые правила не запускаются, как ожидалось. Для отладки я нашел полезным использование AgendaEventListener. Drools предоставляет две полезные реализации прослушивателя событий повестки дня для целей отладки: DebugAgendaEventListener и DebugRuleRuntimeEventListener.

Существует два варианта DebugAgendaEventListener и DebugRuleRuntimeEventListener. Те из пакета org.drools.core.event используют экземпляр Logger для регистрации событий, где как из пакета org.kie.api.event.rule используют stderr. Тем не менее, оба имеют одинаковую функциональность.

Более того, модель событий Kie может быть использована для получения дополнительной информации и пользовательской отладки. Более подробную информацию можно найти в слюнях 7.15.0. Окончательные документы .

Дополнительные ссылки и ссылки: https://javadude.wordpress.com/2012/03/06/debugging-drools-rules/

...