首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Drools规则引擎初学入门范例HelloWorld

2012-10-06 
Drools规则引擎初学入门实例HelloWorld(1)下载eclipse(www.eclipse.org),如果是一般的java开发,下载Eclips

Drools规则引擎初学入门实例HelloWorld

(1)下载eclipse(www.eclipse.org),如果是一般的java开发,下载Eclipse IDE for Java Developers就行了,解压后即可使用;

(2)下载Drools(http://jboss.org/drools/downloads.html),目前最新版本是Drools 4.0.7 Binaries,下载后解压即可;

(3)之后下载eclipse的Drools插件,版本跟eclipse对应,目前有Drools 4.0.7 Eclipse 3.2 Workbench和Drools 4.0.7 Eclipse Europa 3.3 Workbench两种。

???????? Drools插件解压后,将里面的org.drools.eclipse_4.0.7.jar文件copy到eclipse的plugins目录中,重启eclipse,在工具栏可以看到一个 Drools规则引擎初学入门范例HelloWorld 图标,这就是Drools的工作台,之后就可通过这个按钮创建Drools resource文件了。

(4)开始Hello World

Java文件:DroolsTest.java

    ? m.setStatus( Message.GOODBYE );
    ? update( m );
    用到了在LHS中 定义的变量: m, message
    update( m )表示把此Message instance在 working memory中更新.这便会触发名称为"GoodBye"的rule, 进而触发名称为"game over"的rule.

    ?

    以下是drools提供的demo, 稍微整理了下, 可直接在eclipse中import进来

    http://lcllcl987.iteye.com/blog/255404
    (前提: 下载并安装Drool的eclipse插件:Drools 4.0.7 Eclipse Workbench for 3.2 )
    建议首先看看:
    FibonacciExample: Fibonacci数列的drools实现.
    GolfingExample: 著名的golf智力问题的drools实现,golf.drl的注释就是此问题的文字描述.
    ShoppingExample: 一个shopping打折的demo, 超过100元, 有10元的折扣.
    StateExampleUsingAgendGroup: By setting dynamic to TRUE, Drools will use JavaBean, PropertyChangeListeners so you don't have to call update().
    StateExampleWithDynamicRules: 动态加载rule的一个demo(加载StateExampleUsingSalience.drl后在加载StateExampleDynamicRule.drl).

    TroubleTicketExample:
    使用了duration规则特性: 将指定的规则延迟一定时间运行
    规则引擎是在另外一个线程中进行的,因此使用了duration特性可以将指定的规则延迟一定时间运行.
    但是要注意的是主线程中也需要做相应的延时,否则主线程结束后不会再处理子线程的结果
    salience 和 duration特性影响rule的执行顺序.
    其次demo还定义了一个rule function.

    ?

热点排行