Drools入门学习
来源:互联网 发布:js 模块化开发 编辑:程序博客网 时间:2024/04/20 09:13
Eclipse安装Drools插件
具体步骤参见另外博客:http://blog.csdn.net/qq_37380557/article/details/75048813
Eclipse中添加Drools的运行环境
、1下载插件地址:http://www.drools.org/download/download.html
2、版本:droolsjbpm-tools-distribution-6.5.0.Final.zip,并进行解压
3、点击”Windows”—”Preferencess”,在窗口的树形菜单中选择”Drools”—”Installed Drools Runtimes”
在Path选择”……./drools-distribution-6.5.0.Final\binaries”
点击OK,重启Eclipse
创建Drools项目
1、创建Drools工程,”New”—”Project”—”Drools Project”—输入项目名—”Next”
选择编译代码所使用的规则引擎版本,这里选择”Drools 5.1 or above”,点击”Finish”。
自动生成Hello World示例,如下所示:
以下是工程自动生成的例子
Sample.drl :规则引擎的样例文件,该文件根据Drools规则语言语法编写
package com.sampleimport com.sample.DroolsTest.Message;rule "Hello World" when //LHS块 //在working Memory中,如果存在一个Message对象满足他的status属性等于Message.HELLO条件, //就把满足条件的Message实例用变量m表示,他的message属性用myMessage表示,以便在RHS中使用。 m : Message( status == Message.HELLO, myMessage : message ) then //RHS块 //在LHS中满足条件就运行RHS块。用到了LHS中的变量m,myMessage System.out.println( myMessage ); m.setMessage( "Goodbye cruel world" ); m.setStatus( Message.GOODBYE ); update( m );//表示把此Message实例在 working memory中更新.这便会触发名称为"GoodBye"的endrule "GoodBye" when Message( status == Message.GOODBYE, myMessage : message ) then System.out.println( myMessage );end
DroolsTest.Java:java测试类,用来读取Sample.drl 并运行,该文件使用Drools规则引擎的API进行编写
package com.sample;import org.kie.api.KieServices;import org.kie.api.runtime.KieContainer;import org.kie.api.runtime.KieSession;/** * This is a sample class to launch a rule. */public class DroolsTest { public static final void main(String[] args) { try { // load up the knowledge base KieServices ks = KieServices.Factory.get(); KieContainer kContainer = ks.getKieClasspathContainer(); KieSession kSession = kContainer.newKieSession("ksession-rules"); // go ! Message message = new Message(); message.setMessage("Hello World"); message.setStatus(Message.HELLO); kSession.insert(message); kSession.fireAllRules();//执行规则 } catch (Throwable t) { t.printStackTrace(); } } public static class Message { public static final int HELLO = 0; public static final int GOODBYE = 1; private String message; private int status; public String getMessage() { return this.message; } public void setMessage(String message) { this.message = message; } public int getStatus() { return this.status; } public void setStatus(int status) { this.status = status; } }}
运行结果
阅读全文
0 0
- Drools学习 入门实例
- Drools入门学习
- Drools入门学习
- Drools-入门
- Drools入门
- Drools学习
- Drools 入门例子
- Drools 入门例子
- Drools入门Helloworld
- Drools 6.0:入门实例
- drools入门(二)
- Drools 入门例子
- Drools 入门例子
- Drools 入门例子
- Drools入门系列
- drools入门介绍
- Drools基础入门
- drools 学习笔记
- 洛谷 P1219 八皇后
- The Meeting Place Can Not Be Changed(二分)
- Java的自定义注解编写、使用、获取
- NuGet离线安装包获取方法
- Android学习之App基础
- Drools入门学习
- Android 桌面图标右上角数字
- APMCon2017|全球近百位技术大咖共赴技术盛宴!
- 关于List.addAll(Collection<E>)方法遇到的问题
- Lua基础---流程控制语句
- py转文件编码
- JavaScript常用知识及其实例(四)
- 洛谷 P1019 单词接龙
- Linux进程全解12——lIPC机制之管道,SystemV IPC介绍