在智能交通系统中基于Drools BRMS实现业务规则动态管理 - 编程入门网
规则文件。RuleAgent 能够将规则文件下载到本地并装载到规则引擎进行解析执行。RuleAgent 需要一些 参数进行初始化对象,这些参数保存在一个配置文件中,用单例模式装载配置文件生成一个唯一的 RuleAgent 对象。从 RuleAgent 得到一个 StatefulSession,就可以执行规则了。在 session 对象中注 入前面定义的一个 RuleInput 对象。fireAllRules() 就执行了所有的规则。得到的结果保存在 RuleInput 的输出属性中。
清单 1. 执行规则的关键代码
在智能交通系统中基于Drools BRMS实现业务规则动态管理(9)时间:2011-08-11 IBM 陈剑辉 龚萍Rules.properties 文件包含基本的配置信息。newInstance 如果设为 false,那么 RuleAgent 不需 要每次都创建一个 RuleBase,当服务器规则文件更新时,StatefulSession 能够自动更新。url 是设置 成服务器上已部署的规则文件地址。poll=30 表示 RuleAgent 每隔 30 秒都会轮询一次 url 规则是否有 更新。Name 表示这个 RuleAgent 的名字,将会出现在日志里。localCacheDir 表示将服务器上的规则文 件缓存到本地的目录,这个属性大大提高性能,当服务器规则发生改变时,本地的缓存文件也会自动更新 。 清单 2. 客户端连接业务规则管理系统的配置
下图是我们的一个调用界面 图 11. 业务系统模拟 规则的动态修改 Drools BRMS 提供了规则动态修改的功能。当业务规则发生变化,如 OCR 附加费从 50 提高到了 80 ,我们只需要将第二张决策表的 50 改成 80,重新上传这个文件,并且发布这个业务规则。不需要重新 启动应用,修改后的规则能够实时地应用到业务系统中,即我们的规则调用页面刷新后,就能展现附加费 从 50 提高到了 80 总结 Drools BRMS 虽然相比商业化的业务规则管理系统还有一些不足,但却是目前较好的开源业务规则管 理系统。在基于 Drools 这个强大的开源规则引擎上,提供了一个轻量级的管理系统。基于 Web 2.0 Ajax 技术,提供了较好的用户友好度,支持规则文件的上传,编辑,版本管理,编译部署等整个过程。 实现了业务规则的动态配置。满足在业务规则频繁更新的行业中应用。 本文介绍了如何通过业务规则管理软件 Drools BRMS,实现智能交通系统中的业务规则。为 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |