- 浏览: 2869480 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (1173)
- 名言警句 (5)
- 心情随笔 (50)
- 数据库 (57)
- Java基础 (241)
- J2EE框架 (91)
- 数据结构 (12)
- 程序设计 (21)
- WEB技术 (128)
- 网络日志 (12)
- IT资讯 (247)
- linux (64)
- solaris (2)
- 其它 (143)
- WebService (4)
- 日语学习 (2)
- 机器人 (5)
- Android (5)
- cgywin (3)
- Game (1)
- DWR (1)
- spring (8)
- canvas (1)
- Guava (3)
- Modbus (5)
- 测试 (6)
- mongodb (9)
- Quartz (2)
- Cron (1)
- windows (2)
- 持续集成 (1)
- bootstrap (3)
- 结对编程 (1)
- nodejs (1)
- Netty (1)
- 安全 (3)
- webstorm (2)
- sparkline (1)
- Job (1)
- git (3)
- Maven (3)
- knockout (5)
- jquery (1)
- bower (1)
- docker (1)
- confluence (4)
- wiki (1)
- GoogleMap (1)
- jekyll (10)
- ruby (2)
- npm (3)
- browserify (1)
- gulp (3)
- openwrt (1)
- discuz (3)
- 输入法 (1)
- JPA (1)
- eclipse (2)
- IntelliJ (1)
- css (1)
- 虚拟机 (1)
- 操作系统 (1)
- azkaban (2)
- scrum (1)
最新评论
-
pangxiea_:
你好, 想请问一下 Linux下 这么使用rxtxcomm 在 ...
使用Java进行串口通信 -
abababudei:
请教一下,这个您是怎么解决的:/dev/ttyS2enteri ...
Java应用程序的MODBUS通讯 -
xuniverse:
hannibal005 写道楼主,我问下 request.se ...
用javascript与java进行RSA加密与解密 -
atxkm:
找了一下午,终于找到了
gulp 拷贝文件时如何移除文件目录结构 -
kalogen:
gtczr 写道非常感谢,经过我自己的修改,已经完美实现。发出 ...
用javascript与java进行RSA加密与解密
drools中,支持的常见文件类型有drl(drools的规则语言),xls,cvs,rf(规则流文件),drt(drools rule template),在简单的应用中,一般只会使用drl和xls的文件,为了方便业务人员和维护人员能够配置规则文件,一般的规则文件都是由程序员做成execl文件,这样一来,添加相关的配置就很傻瓜了。但是这样做会影响到程序运行的效率,我们做一个测试。 规则文件:base.xls 包含了 rule.xls和simple.xls;在rule.xls中包括了credit.xls,为了读取credit.xls中的规则对象,则需要对base.xls ,rule.xls,credit.xls三个execl文件解析,读取规则对象结果合计耗时: 读取规则文件耗时——————–13484毫秒 在drools5.0中,org.drools.decisiontable.SpreadsheetCompiler这个类可以把xls文件流转化为drl的String对象,通过FileWriter来写成drl文件,相关的转换代码是: 读取规则文件耗时——————--7579毫秒 从数据上看,几乎节省了一半的时间开销。当然,7.6秒仍然不是一个可以接受的数字,需要继续优化。我们需要在系统打版本的时候,就把xls规则文件转换为drl规则文件,然后我们在系统启动的时候,把规则对象通过oscache缓存在内存中。如果没有该对象则重新从规则文件中读取,有的话直接从内存读取,这样一来,读取规则对象消耗的时间几乎为0。这里把xls转化为drl文件只是为了加速系统的启动。
public String drlString(String file,String toDir) throws Exception{
SpreadsheetCompiler sc = new SpreadsheetCompiler();
File f = new File(file);
String fileName = f.getName();
String name = fileName.substring(0,fileName.lastIndexOf("."));
FileInputStream xlsStream = new FileInputStream(f);
String drlFileTmp = sc.compile(xlsStream, InputType.XLS);
drlFileTmp.replaceAll(".xls", ".drl");
File drlFile = new File(toDir + "/" + name + ".drl");
FileWriter writer = new FileWriter(drlFile);
writer.write(drlFileTmp);
writer.close();
return drlFileTmp;
}
把execl解析成为drl文件后,读取规则对象结果合计耗时:
发表评论
-
高级Java程序员值得拥有的10本书
2015-05-04 07:24 810Java是时下最流行的编程语言之一。市面上也出现了适合初学者 ... -
深入理解java异常处理机制
2015-01-30 09:30 13271. 引子 try…catch…fi ... -
java 运行时参数设置
2015-01-07 09:13 865JVM的运行时参数: -Xms为执行单元内存的1/4, ... -
每个Java开发者都应该知道的5个JDK工具
2014-12-29 12:37 1139JDK是Java语言的软件开 ... -
使用双重锁判定可以大幅降低锁的征用
2014-12-29 12:30 746class ObjInstance { //单例 pri ... -
MAVEN Scope使用说明
2014-11-24 09:40 757在Maven的依赖管理中,经常会用到依赖的scope设置。这 ... -
Spring4 quartz job xml configuration
2014-11-11 09:46 14371. 定义job details public ... -
Add items into list in one line using guava
2014-11-10 10:54 721//@formatter:off fina ... -
配置动态读取(变化)文件 in Spring
2014-11-10 08:51 13231. 从环境变量中读取路径: <bean id=&q ... -
JAVA实现AES加密与解密
2014-11-04 15:34 659package com.eifesun.monitor.up ... -
Netty4.x分析
2014-07-31 11:06 1461官网定义: netty是一个异步、事件驱动的网络应用框架,用 ... -
Ways to sort lists of objects in Java based on multiple fields
2014-07-21 17:19 7711. the first way: Sorting wit ... -
how to parse a String to BigDecimal
2014-07-21 10:08 917private BigDecimal parsePrice( ... -
order list using google guava
2014-07-21 09:08 883Predicate<String> filter ... -
Java 读文件操作
2014-07-08 14:09 8861. only use java core, no exte ... -
怎样使Java 中测试按一定顺序执行
2014-03-10 11:27 1318@FixMethodOrder(MethodSorters. ... -
如何实现在当类初始化时,自动调动某个方法
2014-02-14 14:44 964有两种思路, 1. 将这个类实现为thread类 (or ... -
持续集成JenkinsAPI常见用法
2014-02-10 13:54 43jenkins(持续集成开源工具)提供了丰富的api接口,基 ... -
Sonar 安装与使用
2014-01-13 10:49 1730Sonar 是一个用于代码质量管理的开放平台。通过插件机制, ... -
源代码管理分析工具 Source Navigator的安装与使用
2014-01-13 09:51 1891Source-Navigator是原来redhat开发的一个 ...
相关推荐
2. **核心文件解析** - `pom.xml`:Maven 项目的配置文件,定义了项目依赖、构建过程和打包规则,通过它可以了解 Drools 5.0 的构建系统和依赖库。 - `LICENSE-ASL-2.0.txt`:Apache Software License 2.0,...
ole-drools-xls2drl 用于将Excel电子表格转换为Drools DRL文件的简单Java应用程序。 尽管此应用程序可以将任何格式正确的Excel电子表格转换为Drools DRL文件,但它主要用于为Kuali OLE(开放图书馆环境)应用程序...
这个压缩包“drools-5.0-bin.zip”包含了Drools 5.0版本的所有核心组件和必要的库,使得开发者能够方便地集成和使用Drools进行规则驱动的系统开发。 1. **drools-core-5.0.1.jar**: 这是Drools的核心模块,提供了...
- **规则引擎**:Drools 引擎负责解析 DRL 文件,执行规则,并更新工作内存中的事实。 ** 编写和执行 Drools 规则 ** 在 IDEA 中编写完 DRL 文件后,你需要创建一个 Drools 工程,将 DRL 文件添加进去。接着,通过...
2. **规则引擎**:Drools的核心是一个规则引擎,它负责解析、编译和执行DRL规则。当满足特定条件时,引擎会触发相应的规则。 3. **工作内存(Working Memory)**:在Drools中,工作内存是数据存储和处理的主要场所...
标题:drools5.0 flow ### 知识点概览: Drools 5.0 Flow 是一款基于 Java 的业务规则管理系统(BRMS),它提供了强大的规则引擎、流程管理和决策表工具,允许开发者和业务专家在一个统一的环境中定义、执行和管理...
Drools的规则通常存储在.drl文件中,这是一种文本格式,包含了规则定义。这些规则可以包括条件(当什么发生时)和动作(应该做什么)。动态生成规则文件意味着在程序运行时,可以根据需求动态创建或修改这些.drl文件...
1. drools-5.0-bin.zip:这是Drools 5.0的基础运行时包,包含所有必要的JAR文件、文档以及示例代码,用于在Java环境中运行Drools。用户可以通过这个包快速地开始开发基于Drools的应用。包内通常会有以下内容: - ...
接下来,我们需要创建Drools的规则文件(`.drl`),该文件包含了业务规则的定义。例如: ```drl package com.example.rules import com.example.model.MyObject; rule "Example Rule" when $myObject : MyObject...
### Drools JBoss Rules 5.0 Developer's Guide #### 概述 《Drools JBoss Rules 5.0 Developer's Guide》是一本专为希望利用Drools平台开发基于规则的业务逻辑的开发者而编写的指南。本书由Michal Bali撰写,于...
Drools工作台(Drools Workbench)是一款基于规则引擎Drools的集成开发环境,主要用于创建、测试和...通过对这些概念的理解和实践,你将能够熟练掌握Drools Workbench的使用,从而在业务规则管理方面提升效率和灵活性。
DROOLS规则语言(DRL)是一种基于Java的领域特定语言(DSL),用于编写业务规则。本文档将详细介绍DROOLS的基本语法结构及其各个组成部分。 #### 二、DROOLS基本语法结构 DROOLS的基本语法结构由以下几个关键部分...
drools里面的 bin和config和lib文件,已经可以跑,中接有 drools web 和kie service
从基础讲起,结合应用场景,由浅到深细化讲解drools规则引擎的的相关知识,并结合具体实例,演示功能的使用和注意事项。后面通过搭建具体的项目并结合springboot框架联合使用Drools的相关知识包括决策表的使用,囊括...
drools决策表模版
总结来说,Drools规则引擎是一个强大的工具,它能够帮助企业和开发者将复杂的业务逻辑转化为易于管理的规则,通过灵活的规则执行和流程控制,提升业务系统的智能化水平。通过深入学习和实践,我们可以充分利用Drools...
总而言之,drools 是一个强大且灵活的业务规则管理工具,它提供了一套完整的框架来定义、管理和执行业务规则,帮助企业快速响应业务变化,提高决策效率。通过阅读LICENSE文件了解许可条款,查看README确定依赖,以及...
在J2EE项目开发中,规则引擎Drools扮演着重要的角色,它是一个开源的业务规则管理系统(BRMS),能够帮助开发者将业务规则从应用程序逻辑中...通过深入学习,你将掌握如何利用Drools提升业务规则管理的效率和灵活性。
Drools是一款强大的规则引擎,它允许开发者使用自然语言规则来编写业务逻辑,极大地提高了代码的可读性和可维护性。...学习并掌握Drools的安装配置和使用,对提升企业业务系统的智能化和自动化水平具有重要意义。