<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    斷點(diǎn)

    每天進(jìn)步一點(diǎn)點(diǎn)!
    posts - 174, comments - 56, trackbacks - 0, articles - 21

    Drools讀取Xsl文件

    Posted on 2010-03-10 22:29 斷點(diǎn) 閱讀(1268) 評(píng)論(0)  編輯  收藏 所屬分類: Drools

    package com.premium.rules;

    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.Reader;
    import java.io.StringReader;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Map;

    import org.apache.log4j.Logger;
    import org.drools.compiler.DroolsParserException;
    import org.drools.compiler.PackageBuilder;
    import org.drools.decisiontable.InputType;
    import org.drools.decisiontable.SpreadsheetCompiler;
    import org.drools.rule.Package;

    public class DrlPackageManager {

     // 用于緩存Drools的Package,key為Excel的完整路徑,value為此文件編譯過后的Package
     static Map<String, Package> pkgMap = new HashMap<String, Package>();
     private static Logger logger = Logger.getLogger(DrlPackageManager.class);


    /**
      * 通過Excel的文件名緩存Drools的Package
      *
      * @param fileName
      * @return
      * @throws Exception
      */
     public static Package getPackageByXsl(String fileName) throws Exception {
      Package pkg = (Package) pkgMap.get(fileName);
      if (pkg != null)
       return pkg;

      final SpreadsheetCompiler converter = new SpreadsheetCompiler();
      InputStream is = null;
      try {
       is = DrlPackageManager.class.getResourceAsStream(fileName);
      } catch (Exception e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
       is.close();
       throw new Exception("====讀取規(guī)則的資源文件" + fileName + "出錯(cuò),請(qǐng)檢查文件"+ fileName + "=====", e);
      }
      String drl = null;
      try {
       drl = converter.compile(is, InputType.XLS);
       logger.debug("Drools Excel規(guī)則文件:" + fileName + "編譯成.drl文件的結(jié)果:"+ drl);
      } catch (Exception e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
       is.close();
       throw new Exception("xls文件編譯成drl文件出錯(cuò)", e);
      }

      PackageBuilder builder = new PackageBuilder();
      StringReader srd = new StringReader(drl);
      builder.addPackageFromDrl(srd);
      pkg = builder.getPackage();
      pkgMap.put(fileName, pkg);
      is.close();
      return pkg;
     }

    }
    主站蜘蛛池模板: 亚洲高清日韩精品第一区| 国产精品免费_区二区三区观看| 亚洲综合av永久无码精品一区二区 | 亚洲综合激情六月婷婷在线观看| a级毛片无码免费真人久久| 久久久久亚洲av成人无码电影| 一区二区三区在线观看免费| 亚洲精品国产va在线观看蜜芽| 一级做a爰片性色毛片免费网站| 免费又黄又爽的视频| 四虎影视永久在线精品免费| 亚洲日本在线观看视频| 久青草视频在线观看免费| 亚洲国产精品乱码一区二区 | 久久精品国产亚洲AV天海翼| www国产亚洲精品久久久| 一级毛片大全免费播放| 亚洲日产韩国一二三四区| 日韩视频免费在线观看| 性xxxx黑人与亚洲| 国产女高清在线看免费观看| 好湿好大好紧好爽免费视频| 亚洲一二成人精品区| 成人免费a级毛片| 污视频网站在线免费看| 久久亚洲精品中文字幕无码| 国产精品怡红院永久免费| 亚洲人成色99999在线观看| 亚洲天堂中文字幕在线| 久久综合给合久久国产免费| 亚洲AV男人的天堂在线观看| 亚洲成av人片天堂网老年人| 一级特黄aa毛片免费观看| 激情综合亚洲色婷婷五月 | 日韩人妻无码免费视频一区二区三区 | 曰批视频免费40分钟试看天天| 亚洲一区二区无码偷拍| 国产精品亚洲美女久久久| 国产成人精品免费视频大| 农村寡妇一级毛片免费看视频| 久久综合亚洲鲁鲁五月天|