文件名称:
Drools4[1].0官方使用手册中文.doc
开发工具:
文件大小: 5mb
下载次数: 0
上传时间: 2009-04-16
详细说明: 第一章. Drools 4.0 发布版标注 1.1. Drools 4.0的新内容 Drools4.0是从之前的Drools3.0.x系列以来的一次主要更新。在语言表达式,引擎性能和工具实用性方面都有一整套的新特性开发完成。下面列出一些最引人注意的更新列表。 1.1.1. 语言表达式增强 • 新的条件元素: from, collect, accumulate 和forall • 新的字段约束操作: not matches, not contains, in, not in, memberOf, not memberOf • 新的自索引字段: this • 对条件元素嵌套的完全支持,对一阶逻辑的完全支持 • 支持使用&& 和||连接多个约束条件 • 语法分析器的增强以去除之前的一些语言约束,如字符转码和关键字冲突 • 支持插件式语言,以及对MVEL脚本语言的完全支持 • 完全重写的DSL引擎,允许完全的本地化 • Fact属性对于返回值约束和内嵌求值的自动变换 • 支持嵌套访问,属性导航和简化的集合、数组以及映射的语法 • 对XML规则的增强支持 1.1.2. 核心引擎增强 • 对于元数据类型的本地支持,避免经常性的自动封包操作 • 支 持透明的可选的影子Fact • 对于复杂规则的Rete网络性能增强 • 支持规则流 • 支持有状态与无状态的Working Memory(规则引擎Session) • 支持异步Working Memory操作 • 规则代理(Agent)提供热部署机制和BRMS集成 • 对于规则冲突解决方案的动态salience值 • 支持参数化查询 • 支持暂停命令 • 支持顺序执行模式 • 支持插件式的全局变量转换器 1.1.3. IDE 增强 • 支持调试中的规则断点 • 对于规则流的所见即所得功能 • 对于规则编制的新的向导编辑器 • 支持所有新的引擎特性 1.1.4. 业务规则管理系统 - BRMS • 新的BRMS工具 • 具有Web2.0 Ajax特性的用户友好的Web界面 • Package配置 • 通过向导编辑器与文本编辑器,规则的作者更容易修改规则 • Package编译和部署 • 通过使用Rule Agent简化部署 • 通过分类组织规则,简化规则的查找 • 可版本化,你可以很容易的使用之前保存的版本替换现在的一套规则 • 与JCR兼容的规则仓库 1.1.5. 其它增强 • 减少了依赖类库和更少的内存占用 1.2. 从Drool3.0.x向Drools4.0.x更新的提示 之前说到,Drools4.0是自Drools3.0.x系列以来的重要关键更新。但不幸的是为了达到这次发布的目标,带来了一些向后兼容性的问题,如邮件列表和博客中所提到的。 本节简单介绍一下如何从Drools3.0.x向Drool4.0.x升级 1.2.1. API 变更 只有很少的API变更是对于常规用户可见并需要调整的。 1.2.1.1. Working Memory 创建 Drools3.0.x中只有一种Working Memory类型,它的是以有状态Working Memory的方式工作的。Drool4.0.x提供两个独立的有状态与无状态working memory,现在被称为Rule Session。在Drools3.0.x中建立Working Memory的代码是: Example 1.1. Drools 3.0.x: Working Memory 创建 WorkingMemory wm = rulebase.newWorkingMemory(); 在Drools 4.0.x中必须变成: Example 1.2. Drools 4.0.x: 有状态Rule Session创建 StatefulSession wm = rulebase.newStatefulSession(); StatefulSession对象与Drools3.0.x中的WorkingMemory对象的行为相同(它甚至继承了WorkingMemory接口),因此除了创建代码以外这个调整不会带来其它问题。 1.2.1.2. Working Memory 操作 Drools 4.0.x支持可插入的语言,并且已经内建了对Java和MVEL脚本语言的支持。为了避免关键字冲突,working memory的一些操作被重新命名如下: Table 1.1. Working Memory Actions equivalent API methods Drools 3.0.x Drools 4.0.x WorkingMemory.assertObject() WorkingMemory.insert() WorkingMemory.assertLogicalObject() WorkingMemory.insertLogical() WorkingMemory.modifyObject() WorkingMemory.update() 1.2.2. 规则语言的变更 DRL规则语言也有如下一些变更是不支持向后兼容性的。 1.2.2.1. Working Memory Actions Working Memory 操作在规则推论中的变化和在方法API上的变化相似,下表描述了这些改变: Table 1.2. Working Memory Actions equivalent DRL commands Drools 3.0.x Drools 4.0.x assert() insert() assertLogical() insertLogical() modify() update() 1.2.2.2. 元数据类型支持与解包(unboxing) Drools 3.0.x没有对元数据类型的本地支持,因此它会自动封包所有的元数据类型到各自的封装类中。这样的化,任何封包的变量绑定需要一个手工的解包操作。 Drools 4.0.x已经对元数据类型有完全的支持,不再需要封装任何值。因此所有之前的解包操作必须从DRL中删除。 Example 1.3. Drools 3.0.x 手工解包 rule "Primitive int manual unbox" when $c : Cheese( $price : price ) then $c.setPrice( $price.intValue() * 2 ) end 上面的规则在4.0.x中将是: Example 1.4. Drools 4.0.x 元数据支持 rule "Primitive support" when $c : Cheese( $price : price ) then $c.setPrice( $price * 2 ) end 1.2.3. Drools 更新工具 Drools更新工具是一个帮助你将DRL从3.0.x升级到4.0.x的一个简单的程序。 在这一点上它主要是更新working memory从3.0.x 到 4.0.x的操作调用,但是期待它在未来的几个星期里可以覆盖更多的情况。要注意的是,这个工具并不是简单的进行字符替换,实际上它分析规则文件并确保不会做出预料之外的任何事情。因此它对于大量规则的升级来说是一个安全的工具。 Drools更新工具可以在下面的源码库链接中作为一个maven项目获取 http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/experimental/drools-update/ 你只需要Check Out它,然后与项目的pom.xml文件一起执行maven clean install 操作。在解决了所有依赖类库的class路径后,你可以使用下面的命令运行这个工具: java -cp $CLASSPATH org.drools.tools.update.UpdateTool -f [-d ] [-s ] 这个程序的参数非常容易理解: • -h,--help, 显示一个非常简单的帮助 • -d 你的源码根路径 • -f 将要被更新的文件的查找模式。这个格式与ANT中使用的相同,*=单个文件,目录**=任何子目录级别;例如 src/main/resources/**/*.drl = 匹配所有在/src/main/resources下的子目录中的DRL文件 • -s,--suffix 被增加到所有更新文件上的后缀 ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.