ilog jrules и подключение к базе данных - PullRequest
2 голосов
/ 27 февраля 2012

Я использую пробную версию IBM ilog jrules 7.1 для выполнения POC. Я использую таблицы решений для проверки регистрационных данных клиентов.

мое правило таблицы решений ilog таково: если состояние клиента совпадает с CA, IL, AL, тогда установите статус как «отвечающий критериям», иначе сделайте клиента «не отвечающим требованиям» для предложения.

В счастливом пути я могу добавить коды состояний в качестве литералов домена, и правило будет работать нормально. Но мне нужно динамически загружать значения этого домена из базы данных (mysql) с использованием некоторого кода IRL. Кто-нибудь выполнил такое же требование, как мое, было бы очень полезно, если бы кто-то мог указать мне правильное направление.

1 Ответ

2 голосов
/ 28 февраля 2012

Один из общих принципов JRules заключается в том, что вам следует вызывать механизм правил со всей необходимой информацией, если это возможно.С точки зрения производительности, доступ к базе данных во время выполнения правил не очень хорошая идея.Вы также можете потерять возможность использовать ваше приложение для правил в кластерной среде.Кроме того, решения менее прослеживаемы и воспроизводимы, потому что в любой момент времени сложнее узнать, что находится в вашей базе данных.

В зависимости от того, как часто ваши данные изменяются, я предлагаю вам добавить эти значения в качестве второго входного параметра и получите данные, прежде чем вызывать механизм правил.Вторая возможность - использовать плагин динамического домена для загрузки этих значений из базы данных перед развертыванием.Но вам придется заново развертывать ruleApp каждый раз, когда изменяются данные.С помощью плагина динамического домена вы можете указать поставщика данных (например, Excel, MySQL и т. Д.) И заполнить свою спецификацию атрибутами, содержащимися в базе данных.Эти динамические доменные значения отображаются как атрибуты и могут быть синхронизированы из представления спецификации в студии правил, а также с сервера команды:

Dynamic Domain Example

В WODM (преемник JRules 7.1) эта функциональность встроена, возможно, этот плагин не является частью демо и должен быть добавлен в 7.1 отдельно.

...