安装drools5插件
直接解压drools-5.0-eclipse-all.zip到eclipse下的 dropins目录中。
建立一个Java Project。
引入drools必备的jar包
antlr-runtime-3.1.1.jar
core-3.4.2.v_883_R34x.jar
drools-api-5.0.1.jar
drools-compiler-5.0.1.jar
drools-core-5.0.1.jar
mvel2-2.0.10.jar
创建一个User的POJO类:
package com.test;
publicclass User {
private String loginName;
public String getLoginName() { returnloginName; }
publicvoid setLoginName(String loginName) { this.loginName = loginName; }
@Override publicint hashCode() { finalint prime = 31; int result = 1; result = prime * result + ((loginName == null) ? 0 : loginName.hashCode()); return result; }
@Override publicboolean equals(Object obj) { if (this == obj) returntrue; if (obj == null) returnfalse; if (getClass() != obj.getClass()) returnfalse; User other = (User) obj; if (loginName == null) { if (other.loginName != null) returnfalse; } elseif (!loginName.equals(other.loginName)) returnfalse; returntrue; }
@Override public String toString() { return"User [loginName=" + loginName + "]"; } }
|
新建一个规则定义文件
package com.test;
rule"rule_01" when $user : User(loginName != null) then System.out.println("hello, " + $user.getLoginName()); end |
最后写一个RuleApp规则启动类:
package com.test;
import org.drools.KnowledgeBase; import org.drools.KnowledgeBaseFactory; import org.drools.builder.KnowledgeBuilder; import org.drools.builder.KnowledgeBuilderFactory; import org.drools.builder.ResourceType; import org.drools.io.ResourceFactory; import org.drools.runtime.StatefulKnowledgeSession;
publicclass RuleApp {
publicstaticvoid main(String[] args) { KnowledgeBase knowledgeBase = createKnowledgeBase(); StatefulKnowledgeSession session = knowledgeBase .newStatefulKnowledgeSession(); try { User user = new User(); user.setLoginName("zhangsan"); session.insert(user); session.fireAllRules(); } finally { session.dispose(); } }
privatestatic KnowledgeBase createKnowledgeBase() { KnowledgeBuilder builder = KnowledgeBuilderFactory .newKnowledgeBuilder(); builder.add(ResourceFactory.newClassPathResource("helloworld.drl", User.class), ResourceType.DRL); if (builder.hasErrors()) { thrownew RuntimeException(builder.getErrors().toString()); } KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase(); knowledgeBase.addKnowledgePackages(builder.getKnowledgePackages()); return knowledgeBase; }
}
|
测试输出
hello, zhangsan |
相关推荐
1 Drools简介1.1 Drools的作用1.2 使用规则引擎的优势1.3 规则引擎应用场景2 Drools初体验2.1 构建项目2.2 案例描述 2.3 代码实现3 Drools语法介绍3.1 规则文件的组成3.2 规则体语法结构3.3 Pattern模式匹配 ...
Drools5 规则引擎开发教程 图文教程 介绍drools 入门
Drools入门手册.ppt Drools入门手册.ppt Drools入门手册.ppt Drools入门手册.ppt
简单的入门例子
Drools入门案例 Drools基础语法 规则属性 Drools高级语法 Spring整合Drools Spring Boot整合Drools WorkBench Drools实战 个人所得税计算器 信用卡申请 保险产品准入规则 规则引擎,全称为业务规则管理系统,英文名...
Drools快速入门第二版.ppt
规则引擎学习
后面通过搭建具体的项目并结合springboot框架联合使用Drools的相关知识包括决策表的使用,囊括一般项目中所需要的知识点,理论结合实际,让真正入门到熟练。本资源是...
drools规则引擎和activity工作流结合的maven-Web项目,该项目基于请假流程。项目中实现了动态监控规则文件和工作流文件的变更,从而实现不停止服务器达到重新加载drl和bpmn文件的效果。
Drools7 例子,网上好多都是5的例子,7改了不少api,有需要的可以参考一下
drools最好的入门手册,drools最好的入门手册
很不错的drools6学习的例子 里面有入门的实例及一些语法的例子。
Drools入门-环境搭建,分析及示例
团队技术分享中使用的演示代码以及PPT,供初学者入门,关键点都有注释说明,代码结构简洁明了.
---02-Drools入门案例(开发实现_1).mp4 ---03-Drools入门案例(开发实现_2).mp4 ---04-Drools入门案例(开发实现_3).mp4 ---05-Drools入门案例(开发实现_4).mp4 ---06-Drools入门案例(小结_规则引擎构成)....
drools的简单入门案例.doc
详细介绍了drools架构及开发过程,drools入门资料。同时提供了一些例子
Drools简介Drools(JBossRules)具有一个易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、效率高
2.规则rt引擎概述3. Drools入门案例4. Drools基础语法5.Drools属性学习6.Drools高级语法7.案例。资源来源网络,如有侵权,请联系管理员删除