2

我正在使用 IBM ilog jrules 7.1 试用版进行 POC。我正在使用决策表来检查客户注册数据。

我的 ilog 决策表规则是——如果客户的状态是 CA、IL、AL 中的任何一个,则将状态设置为“合格”,否则将客户设置为“不合格”。

在一个愉快的路径中,我可以将状态代码添加为域文字,并且该规则可以正常工作。但是我需要使用一些 IRL 代码从数据库( mysql )动态加载这个域值。有没有人像我一样做过类似的要求,如果有人能指出我正确的方向,那将非常有帮助。

4

1 回答 1

2

JRules 的一般原则之一是,如果可能,您应该使用所有必要的信息调用规则引擎。从性能的角度来看,在规则执行期间访问数据库并不是一个好主意。您还可能无法在集群环境中使用您的规则应用程序。此外,决策的可追溯性和可重复性较差,因为在任何给定时刻都更难知道数据库中的内容。

根据数据更改的频率,我建议您将这些值添加为第二个输入参数,并在调用规则引擎之前检索数据。第二种可能性是在部署之前使用动态域插件从数据库中加载这些值。但是每次数据更改时,您都必须重新部署 ruleApp。使用动态域插件,您可以指定数据提供者(例如 Excel、MySQL 等)并使用数据库中包含的属性填充您的 BOM。这些动态域值显示为属性,可以从规则工作室的 BOM 视图以及团队服务器同步:

动态域示例

在 WODM(JRules 7.1 的后续版本)中,此功能是内置的,此插件可能不是演示的一部分,必须单独添加到 7.1。

于 2012-02-28T17:30:51.903 回答