本篇内容介绍了“Drools规则引擎的简单使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一个给不同商品设置不同折扣的例子pom.xml
kmodule.xml
文件用于配置规则脚本,可以有多个kbase
文件放在项目resources/META-INF
目录下可以自动加载Product Bean实体
resources/rules/Rules.drl
规则脚本junit Test运行结果解释一 香港云主机下kmodule.xml
该文件用来配置规则表,可以包含多个kbase,每个kbase都有name属性,不能重复kbase可以包含多个ksession, packages属性是src/main/resources目录下文件夹的包路径,可以定义多个包,逗号分隔,packages目录下的所有规则文件都会被加载,除了子目录ksession 的name不能重复,Java代码中KieSession设置的name就是该配置的namedroolsTest
KieServices
该接口提供了很多方法,可以通过这些方法访问KIE关于构建和运行的相关对象,比如说可以获取KieContainer,利用KieContainer来访问KBase和KSession等信息;可以获取KieRepository对象,利用KieRepository来管理KieModule等。
KieServices就是一个中心,通过它来获取的各种对象来完成规则构建、管理和执行等操作。KieContainer
KieContainer可以理解为是一个KieBase的容器。KieBase
KieBase可以理解为是一个知识仓库,包含了若干的规则、流程、方法等,在Drools中主要就是规则和方法,KieBase本身并不包含运行时的数据之类的,如果需要执行规则KieBase中的规则的话,就需要根据KieBase创建KieSession。KieSession
KieSession就是一个跟Drools引擎打交道的会话,其基于KieBase创建,它会包含运行时数据,包含“事实 Fact”,并对运行时数据事实进行规则运算。我们通过KieContainer创建KieSession是一种较为方便的做法,其实他本质上是从KieBase中创建出来实现动态规则有这几种思路 1. 使用Workbench,通过Web管理页面动态生成配置规则 2. 将规则以字符串的形式存入数据库,需要自己开发一套规则管理系统1.docker部署workbenchworkbench
docker run -p 8080:8080 -p 8001:8001 -d –name drools-wb jboss/drools-workbench-showcase:7.5.0.Finalkie-server
docker run -p 8180:8180 -d –name kie-server –link drools-wb:kie_wb jboss/kie-server-showcase:7.5.0.Final访问http://ip地址:8080/drools-wb
默认账号/密码 admin/admin2.创建项目3.创建Object4.创建DRL文件5.部署6.使用部署的规则文件远程规则Maven仓库地址获取
本地Maven仓库settings.xml配置,这里只摘录了需要添加的3处,需要对应去添加
创建一个标准的SpringBoot工程Product
实体,包路径要跟规则文件中的一致DroolsController.java
PostMan访问接口
与DRL规则文件中配置的一致7.动态规则修改ppdrl.drl
规则表,修改GOLD的打折为50%,保存规则,将项目版本提高一个版本,并build&deploy
项目再次访问接口,GOLD的折扣已经变为50%
,其中没有重启服务“Drools规则引擎的简单使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注开发云网站,小编将为大家输出更多高质量的实用文章!
相关推荐: CentOS7安装Nginx并配置自动启动实例分析
今天小编给大家分享一下CentOS7安装Nginx并配置自动启动实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、官网下载安装包选择适合…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。