添加drools框架运行的依赖

<!--Drools 规则相关 --><dependency><groupId>org.drools</groupId><artifactId>drools-core</artifactId><version>6.5.0.Final</version></dependency><dependency><groupId>org.kie</groupId><artifactId>kie-api</artifactId><version>6.5.0.Final</version></dependency><dependency><groupId>org.drools</groupId><artifactId>drools-compiler</artifactId><version>6.5.0.Final</version></dependency>

public class DroolsHelloWorld {public static void main(String[] args) {// Class.forName( "org.drools.compiler.kie.builder.impl.KieServicesImpl" ).newInstance()KieServices kieServices = KieServices.Factory.get();//会去 resource/META-INF 下找 kmodule.xml 文件KieContainer kieContainer = kieServices.getKieClasspathContainer();// kmodule.xml中<ksession name="helloworld"/> name值   KieSession kieSession = kieContainer.newKieSession("helloworld");//启用规则Set set=new HashSet();  set.add("helloworld1");  set.add("helloworld2");   int a = kieSession.fireAllRules();/*FactHandle factHandle2 = kieSession.insert("456");int b = kieSession.fireAllRules(new RuleNameEndsWithAgendaFilter("helloWorld1"));kieSession.delete(factHandle2);*/kieSession.dispose();}
}

META-INF/kmodule.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<kmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://www.drools.org/xsd/kmodule"><!-- packages 指向规则文件目录 --><kbase name="hello" packages="com.dinpay.drools.helloworld"><!-- name在 创建 KIEsession 会用到 --><ksession name="helloworld"/></kbase><!-- packages 指向规则文件目录   --><kbase name="helloUpgraded" packages="com.dinpay.drools.helloworldUpgraded"><ksession name="helloworldUpgraded"/></kbase><!-- packages 指向规则文件目录   --><kbase name="dinpay" packages="rule2"><ksession name="dinpayRule"/></kbase>
</kmodule>

droolsHelloWorld.drl脚本编写

rule helloWorld2salience 100lock-on-active truewheneval(true)thenSystem.out.println("Helloworld drools2!  ");
endrule helloWorld1salience 100lock-on-active truewheneval(true)thenSystem.out.println("Helloworld drools1!  ");
end

转载于:https://www.cnblogs.com/atomicbomb/p/7171475.html

Drools的HelloWord例子相关推荐

  1. Drools 5.1.1(一)

    http://shikonglaike.iteye.com/blog/1236354 第一章欢迎 我总是和终端业务用户争论不休,理解规则和流程.最新规则和事件处理的区别.对此,在他们的意识中有这样的问 ...

  2. 常见Dos命令、Java历史、Java跨平台、配置Path环境变量、第一个HelloWorld例子

    文章目录 常见Dos命令.Java历史.Java跨平台 计算机基础 计算机 硬件和软件 硬件 软件 人机交互的方式: 常见的dos命令 Java简介 Java语言重要特性之跨平台 跨平台 Java的跨 ...

  3. python stm32-python学习(一)

    Python[1] (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发 ...

  4. The Eclipse JDT Core jar is not in the classpath

    http://msq.iteye.com/blog/683074 在操作Drools的测试例子时,Eclipse后台报以下错误: org.drools.RuntimeDroolsException: ...

  5. net开发过程中,错误集锦

    2007年 6月 移动项目: 1:vs2005上安装vss2005后,不能够显示源代码管理 (http://www.cnblogs.com/SGSoft/archive/2007/06/12/7803 ...

  6. .net开发过程中,错误集锦

    2007年7月10日 开发过程中,错误集锦. 写这个东东的目的,主要是上班那不能够上网,回家后总结出来弄到日志本里面的.顺便鄙视下移动,对厂家这么刻薄,不能上网,不能带水进去喝,最气人的是,进出大楼, ...

  7. zephir-安装和初体验

    zephir-安装和初体验 前言 先在这里感谢各位zephir开源技术提供者 zephir主要是解决了PHP开发人员尝试编写和编译PHP拓展所能执行的代码的语言.这是一个支持动态/静态类型的语言,熟悉 ...

  8. 基于于berkeleydb+qt的智能语音电话薄管理系统

    /**************************************************************************** 文档作者:罗国辉 软件代码:罗国辉,廖少龙 ...

  9. java---计算机基础

    计算机基础 1.1. 计算机 电子计算机,俗称电脑,是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称为裸机. 1.2. 硬件和软件 1 ...

最新文章

  1. 摘自一个读者读后rework的感受
  2. 12月第1周.BIZ域名总量TOP10:仅中德澳3国持续上涨
  3. 用python画猫咪怎么画-如何用Python画一只机器猫?
  4. [剑指Offer]12.二进制中1的个数
  5. MySQL—事务隔离级别
  6. Python实例 -- 如何快速获取列表中最大的三个元素
  7. 这 10 道 Java 测试题,据说阿里 P7 的正确率只有 50%
  8. C#中数据流(文件流、内存流、网络流等)相关知识点梳理
  9. jenkins java反序列化_Jenkins “Java 反序列化”过程远程命令执行漏洞
  10. 那些把公司当家的程序员,后来怎么样了...
  11. 粘包问题以及解决方法
  12. 游戏里的---Change
  13. Xcode7.x中安装Alcatraz
  14. window.requestAnimationFrame()的使用,处理更流畅的动画效果
  15. 二级MS office考试中一些常考的函数(Excel)(2)
  16. 网络掩码 网关 接口 活跃点数介绍
  17. 2019-11-10训练总结
  18. 01-运营可能是一种思维方式
  19. 京东java前后端联调_前端工程化、组件化实践JDM分享
  20. CVTE Java后台电话一面

热门文章

  1. 利用VSCode阅读OpenFOAM源代码及其调试Debug【终极总结篇】
  2. 初次联系导师短信模板_2020考研复试:提前联系导师的6点注意事项(附邮件模板)...
  3. 5天学习MYSQL数据库第一天剩余全部笔记(超级详细的mysql入门笔记适合新手反复看加深记忆)
  4. 2020下半年python二级考试时间_2020年下半年计算机等级考试报名通知
  5. go怎么用改变c语言程序位置,Go与C语言的互操作
  6. server2019远程服务器ipv4地址_Windows Server 2019远程桌面服务配置和授权激活
  7. 怎样将计算机添加桌面快捷方式,Win10系统下如何将程序快捷方式添加到桌面上?【图文教程】...
  8. C语言链表的转置算法,c语言编程集 数据结构 顺序表 点链表 数制转换 矩阵转置.doc...
  9. mysql小王 保密_利用mysql的注射点得到更多mysql的信息
  10. pdfstamper生成pdf无法显示汉字_正点原子STM32F4/F7水星开发板资料连载第四十六章 汉字显示实验...