上一篇文章 http://blog.csdn.net/quzishen/archive/2011/01/25/6163012.aspx 描述了一些常用的drools的语法标签和一个模拟实例即发送积分的场景,这一片优化了一下代码,在此贴一下,希望有这方面使用经验的朋友多多交流沟通,指正不足。
通常而言,习惯上我们将规则放到文件系统中,比如以drl结尾的规则文件,现在我们要扩充一下,使其放到数据库中,以供多台服务器同时使用,同时依然保留文件系统的支持。
先看下一个接口:
实现过程没有任何难度,两种方式封装过程只在于读取规则的方式不同,代码很简单:
其中的getRuleFromDB() 和 getRuleDrlFile() 两个方法即可以重写以接入个人系统,现在其中编写的是测试代码。
其他的文件与上篇文章相同:
RuleBaseFacatory
DroolsRuleDomain
PointDomain
addpoint.drl
subpoint.drl 与上一篇相同,请参见上一篇,此处省略篇幅略
测试代码
Test