Drools的使用模板

 
Drools系统的外观接口
           public class RuleEngine {
               private static RuleBase ruleBase = RuleBaseFactory.newRuleBase();
               private static Map rules = new HashMap();
 
               public Static RuleBase getRuleBase (){
                   return ruleBase;
               }
 
               public void readRule(String ruleFile) {
                   if (rules.Contains(ruleFile)){
                       return;
                   }
 
                   PackageBuilder builder = new PackageBuilder();
                   //仅以DRL文件为例
                   builder.addPackageFromDrl( new InputStreamReader(
                                                  getClass().getResourceAsStream( ruleFile ) ) );
                   Package pkg = builder.getPackage();
                   ruleBase.addPackage( pkg );
                   rules.put( ruleFile, pkg.getName() );
               }
 
               public void executeRule(List parameters){
                   WorkMemory workmem = ruleBase.newWorkingMemory();
                   for(int i=0; i < parameters.size(); i++){
                        workmem.assertObject( parameters.get(i) );
                   }
                   workmem.fireAllRules();
               }
           }
 
            应用调用(如:BO等)
           ......
           RuleEngine rule = new RuleEngine();
           rule.readRule( "tomliu.drl" );//加载Rule
           ArrayList parameter = new ArrayList();
           parameter.add( obj1 );
           parameter.add( obj2 );
           parameter.add( result );
           rule.executeRule( parameter );
           ......
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值