Прежде чем кто-нибудь уйдет с глубокого конца, об этом было освещено, ну не совсем. В первом мы используем Drools 6.5. Затем я отвечаю за структуру, которая запускает движок, а не правила. 3-я У меня есть требование сообщить в реальном времени правило, которое не удалось. RHS не проблема, это охватило. LHS - проблема, NPE, деление на ноль и т. Д. И т. Д. И т. Д.Drools Exceptions LHS, определить правило, которое не удалось
Очевидно, что все исключения исключаются и обрабатываются соответственно. Насколько я могу судить, недостаточно информации, чтобы определить правило, которое не удалось. Я попытался ввести глобальное значение и установил, что в качестве 1-го stmt, но похоже, что он не копируется в память приложения из рабочей памяти LHS.
Я могу использовать некоторые требования к создателям правил ... ограничено. Я могу вводить stmts во время выполнения (когда я загружаю правила), но я бы предпочел не делать этого.
Рабочие элементы будут разнообразными и ненадежными. Обработка должна быть очень высокой. Правила будут сотнями до тысяч и, возможно, обновлены в режиме реального времени, или, может быть, «на лету» - лучшее описание.
Доступен ли слушатель, который будет использоваться до оценки LHS? (Я бы сомневался в этом, но думал, что лучше спросить).
ErrorListener было бы неплохо, я попробовал обработчик Exsequence Exception, но это не сработало. Есть ли еще ошибка ErrorHandler, которую я пропустил?
Я предполагаю, что двигатель JBPM имеет те же ограничения, не так ли? Это также нужно будет запустить в рамках.
Благодаря
В целом я согласен. Однако у меня нет контроля над WorkItems или правилами, у меня есть только требование, за которое платят счет, и у меня есть структура, в которой работают двигатели. У вас есть критическая система, которая обрабатывает более 1 миллиарда фактов в день, через огромная ферма серверов, и ваш босс хочет знать, какие правила терпят неудачу и почему. Идите фигуру. – pdread
Если у вас нет контроля над классами, определяющими ваши факты: забудьте об этом. - Если это трудно, я могу попытаться разработать стратегию проверки правил, прежде чем они будут освобождены от невинных, но это правда, и для этого потребуется больше информации о приложении, чем вы, и, возможно, больше работы, чем я мог бы быть готовым дать. - Возможно, вам придется разработать собственную систему оценки правил, которая выполнима, если вам не нужна сложность синтаксиса LHS, как это делает Drools. – laune