- 浏览: 111680 次
- 性别:
- 来自: 广州
最新评论
-
ewook_eye:
[color=yellow][/color]
技巧: Drools中from,accumulate和collect之间的关联 -
zhangcheng:
这个翻译的有点···
Drools4.0官方使用手册(中文) -
zhangcheng:
正在研究,谢谢分享。
Drools4.0官方使用手册(中文) -
dong_ta:
对,确实是这样
Drools4:对Golfer示例的分析 -
hrfdotnet:
哥们,能把这个示例完整的源码发一份给我吗,先谢谢了!hrfsu ...
Drools4:对Sudoku示例的分析
文章列表
/*
manners示例是一个安排座位的例子,它的要求如下:
1、客人应当按照男女性别相邻而坐,围成一圈
2、假设客人会有2-3个个人爱好(爱好的可选范围是3种),为了让大家能够更好的交 ...
/*
Conway: 元细胞自动机模型,俗称生命游戏
它有些类似于一张围棋棋盘,但是可以更大。每个棋盘上的格子(元细胞)只能是生/死两种状态之一。
游戏遵循下面的规则
1)格子的状态只能是生/死两种状态之一
2)格子以其上下左右及斜角方向的8个格子为邻居
3)一个格子的生死由其在该时刻本身的生死状态和周围八个邻居的状态 (确切讲是状态的和)决定:
a、在当前时刻,如果一个格子状态为"生",且八个相邻格子中有两个或三 ...
/*
Sodu:数独游戏,一个9x9的方格棋盘中,按照每三行三列再细分为9个小棋盘,如下
|a|a|a|b|b|b|c|c|c|
|a|a|a|b|b|b|c|c|c|
|a|a|a|b|b|b|c|c|c|
...
/*
Ticket示例是对客户电影票分配的处理
本例要点:
1、使用了duration规则特性
因为规则引擎的执行本身是在另外一个线程中进行的,
因此使用了dura ...
/*
Shopping:为订单内商品总金额大于100元的订单给与10%的折扣
本例要点:
1、语言Mvel和Java的切换
在Package级别定义的是Mvel语言,而在"Apply..."规则中定义的是Java语言;
两种语言的细节区别有很多,这里不详细说明。简单的说$c.name是Mvel语法,而$c.getName()则是Java语法
2、使用了not这样的非存在性逻辑,留意" ...
/*
规则引擎的强大就在于它可以解决使用普通的编程方法难以解决的问题
例如对于下面一个问题的求解,用编程方法很难给出合适的解决方案
问题:高尔夫球员的位置?
...
Fibonacci - 斐波纳契数列(一种整数数列, 其中每数等于前面两数之和)
1、Fact 设置
session.insert( new Fibonacci( 50 ), false );
2、Fibonacci对象定义
public class Fibonacci {
private int sequence;
private long value;
public Fibonacci() {
} ...
Drools4.0对比3.0有了极大的提升,新的手册对此进行了详细说明。这里不再重复,具体请下载附件查看。
1.1. Drools 4.0的新内容<o:p></o:p>
Drools4.0是从之前的Drools3.0.x系列以来的一次主要更新。在语言表达式,引擎性能和工具实用性方面都有一整套的新特性开发完成。下面列出一些最引人注意的更新列表。<o:p></o:p>
<st1:chsdate w:st="on" year="1899" month="12" day="3 ...
为何对于规则来说Java编码是不好的,而声明式编程是更好的选择 <o:p></o:p>
作者: Mark Proctor <o:p></o:p>
Drools的卖点之一,也是我们能够超越其它竞争者的地方是,在规则的表达式和推论中允许使用Java编码。这带来了一个较低的学习曲线,因为Java开发者不需要额外的培训就可以开始编写规则的推论部分;不管是更新值,发送消息或从数据库返回信息。这种与Java或类Java语言一体的模式,对于市场来说也是一种对比竞争者的宣传措施。从表面上看来起来是很好的,并且对于管理者来说也可以带来——更少的培训,利用现有的技 ...
编写更好的规则 <o:p></o:p>
作者: Edson Tirelli <o:p></o:p>
我们所常见的一个问题是“我怎样编写更好的规则?”,或者类似的问题<o:p></o:p>
我做错了什么?我有如此多过程代码在规则中…<o:p></o:p>
我怎样调用一个特定的规则?(它来自于两类用户:使用反向推导的规则引擎或者习惯于使用过程代码)<o:p></o:p>
我如何在一个集合中遍历?<o:p></o:p>
...
为监控程序和时间敏感程序编写规则 <o:p></o:p>
作者:Edson Tirelli <o:p></o:p>
在讨论完关于编写规则的抽象概念以后,我打算停一下,讨论一些真实的规则引擎用例以及怎样对这些用例编写规则。<o:p></o:p>
我发送了邮件到用户列表中询问大家喜欢更详细的讨论哪些用例,然后我开始收到一些反馈。在这篇文章中,我将讨论一个由Neil Goldman建议的主题,同时也是分享他对监控程序和时间敏感程序建立规则的一些想法。
这篇文章不是讨论关于事件流处理的范围,这个专题与本文有所关联,但是这个专题 ...
JBoss规则引擎与Web Services <o:p></o:p>
作者: Mark Proctor <o:p></o:p>
我最近刚刚完成了一个项目,其中JBoss规则引擎通过Web Services来提供使用。因此我写下其中的一些细节。<o:p></o:p>
在这个特殊的项目中,只有有效负载(payload)中的根对象被设置,整个payload不被分成更小的关联对象设置到Working Memory中,通常这样被认为是最佳实践方式;无论怎样,我们在这里演示给你看怎样有效率的在嵌套的XML有效负载中使用‘from’。 ...
为何在Drools中使用MVEL <o:p></o:p>
作者: Mark Proctor <o:p></o:p>
我目前正在努力工作以实现插件式的语言系统,它与Drools2.0中的语义模块有些类似。使用这种系统,人们可以用任何他们喜欢的语言来编写Drl语言实现,可以用这种语言建立他们的断言、返回值、Eval和推论。我们将支持两种语言实现:Java和MVEL(http://mvel.codehaus.org/)。当然大家问的第一个问题会是为什么选择MVEL而不是Groovy,Jython等等,我将原因列举如下:<o:p></ ...
顺序的Rete算法 <o:p></o:p>
作者: Mark Proctor <o:p></o:p>
无状态和有状态Session
使用Rete,你有一个有状态的Session,在那里对象可以随时被设置或修改,规则也可以随时被增加和删除。现在我们假设一个无状态Session ...
Drools 3.0到4.0迁移工具 (Edson Tirelli)
作者:Edson Tirelli
在我们构建Drools4.0时,为了加入所有的特性,我们不得不进行一些破坏向后兼容性的API和语法变更。
为了最小化从3.0迁移到4.0的工作量,我们将提供一个工具来帮助进行规则文件的迁移。它将进行基本的自动变换,但是我们只是期望能对一切要手工调整的用户提供一些帮助。
我刚刚完成了应用的少量代码,你可以通过下面链接访问:
http://anonsvn.labs.jboss.com/labs/jbossrules/trunk/experimental/drools-update/
现在 ...