网站首页 > java教程 正文
继续drools的学习,本节主要说说高级语法中常用的全局变量global。
高级语法global全局变量
- ① 介绍
global关键字用于在规则文件中定义全局变量,它可以让应用程序的对象在规则文件中能够被访问。可以用来为规则文件提供数据或服务。
- ② 语法结构
global 对象类型 对象名称
- ③ 注意点
- 如果对象类型为包装类型是【java.until.* 这些都属于包装类】,在一个规则中改变了global的值,那么只针对当前规则有效,对其他规则中的global不会有影响。可以理解为它是当前规则代码中的global副本,规则内部修改不会影响全局的使用。
- 如果对象类型为集合类型或JavaBean时,在一个规则中改变了global的值,对java代码和所有规则都有效。
- ④ 创建一个drl文件演示,验证包装类的全局变量
定义2个规则,方便看出效果,修改全局的变量,看看下个规则值是不是改变了。count的初始值由java来进行创建。写这个例子就是为了判断在第一个规则里面改变了count的值,在第二个规则里面看count是不是发生了改变。
第一个规则执行后count是15,第二个规则执行后count是5,
第三个定义一个集合的drl,并设置初始值,第四个规则集合里面的数量是否有变化
单元测试的结果,已经添加完毕了,在第四个规则里面还存在数量的变化。一旦对这个变量发生改变,任何其他地方都会受到影响。
定义个javabean的方式。看是否发生改变。
- ⑤ 指定drl中的那个规则执行
目前drl太多了,控制台打印的东西太乱了,不好控制。
// 指定某种规则开头的规则名称
kieSession.fireAllRules(new RuleNameStartsWithAgendaFilter("rule_global"));
PS:排除干扰只执行需要看结果的字段。今天全部变量的使用讲解完了,下次咱们说说查询Query。
猜你喜欢
- 2024-10-25 Spring Boot 整合流程引擎 Flowable,so easy
- 2024-10-25 规则引擎重塑业务灵活性,但是你真的会用吗?
- 2024-10-25 Java表达式求值引擎Aviator(二)(java数学表达式解析)
- 2024-10-25 高德打车通用可编排订单状态机引擎设计
- 2024-10-25 NET RulesEngine(规则引擎)(规则引擎easy rule)
- 2024-10-25 25-规则引擎概述(使用规则引擎的优势)
- 2024-10-25 开启灵活开发编码模式:规则引擎drools——LHS部分
- 2024-10-25 21-规则引擎内容介绍(规则引擎使用案例场景)
- 2024-10-25 Aviator规则引擎最佳实践(规则引擎教程)
- 2024-10-25 开源规则引擎LiteFlow:为低代码开发带来革命性的变革
你 发表评论:
欢迎- 最近发表
-
- pyinstaller打包python程序高级技巧
- 将python打包成exe的方式(python打包成exe的方法)
- Python打包:如何将 Flask 项目打包成exe程序
- py2exe实现python文件打包为.exe可执行程序(上篇)
- 如何将 Python 项目打包成 exe,另带卸载功能!
- Python打包成 exe,太大了该怎么解决?
- 可视化 Python 打包 exe,这个神器绝了!
- 案例详解pyinstaller将python程序打包为可执行文件exe
- Cocos 3.x 菜鸟一起玩:打包window程序
- 怎么把 Python + Flet 开发的程序,打包为 exe ?这个方法很简单!
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)