<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;
     }

    }
    主站蜘蛛池模板: 亚洲熟伦熟女新五十路熟妇| 亚洲午夜国产精品无码| 思思99re66在线精品免费观看| 国产精品va无码免费麻豆| 亚洲国产日韩在线视频| 亚洲成熟丰满熟妇高潮XXXXX | 久久精品国产亚洲沈樵| 精品亚洲AV无码一区二区三区 | ASS亚洲熟妇毛茸茸PICS| 亚洲第一视频在线观看免费| 免费大片黄在线观看yw| 亚洲AV无码乱码国产麻豆| 精品久久久久久亚洲中文字幕| 最近中文字幕mv免费高清视频8| 亚洲色偷偷狠狠综合网| 中文日本免费高清| 国产免费拔擦拔擦8x| 亚洲日本久久一区二区va| 四虎影视大全免费入口| 黄页网站在线免费观看| 免费无码看av的网站| 久久亚洲私人国产精品| a级毛片高清免费视频就| 亚洲精品视频免费观看| 久久亚洲精品成人无码| 女人与禽交视频免费看| 猫咪免费观看人成网站在线| 亚洲精品国产精品乱码在线观看| 香蕉成人免费看片视频app下载| 亚洲精品无码久久不卡| 午夜精品一区二区三区免费视频| 亚洲国产成AV人天堂无码| 亚洲一区二区三区免费观看| 精品无码一区二区三区亚洲桃色| 国产精品69白浆在线观看免费| 亚洲成av人片在线看片| 免费在线观看视频网站| 男女超爽视频免费播放| 免费真实播放国产乱子伦| 久99久精品免费视频热77| 亚洲精品无码专区久久|