网站首页 > 开源技术 正文
一、背景
在我们编写drools的规则文件的时候,有些时候需要用到全局变量,那么这个该怎么实现呢?有哪些注意事项呢?
二、前置知识
1、语法结构
2、全局变量的特点
- 使用global来定义全局变量,它可以为规则提供数据和服务。
- 全局变量并不会被写入到工作内存中,因此我们不可放到规则的约束条件中,即when的后面,除非这个全局变量是常量。
- 如果不同的包中存在相同标识符的常量,那么我们的常量必须是相同的类型,以便可以引用到相同的值。官网原文: If you declare global variables with the same identifier in multiple packages, then you must set all the packages with the same type so that they all reference the same global value.
- 尽量不要使用全局变量在规则之间传递参数,如果需要在规则之间传递参数,我们应该向工作内存中插入Fact对象。
三、需求
规则文件中定义常量,然后java代码中设置常量的值。
四、实现
得到结论:
1、数据类型需要一致。
2、常量是KieSession级别隔离的。
五、代码实现
https://gitee.com/huan1993/spring-cloud-parent/tree/master/drools/drools-drl-global-variable
六、参考链接
https://docs.drools.org/7.69.0.Final/drools-docs/html_single/index.html#drl-globals-con_drl-rules
猜你喜欢
- 2024-10-02 drools中no-loop和lock-on-active的区别
- 2024-10-02 基于Flink和规则引擎的实时风控解决方案
- 2024-10-02 IF嵌套层数太多?试试Drools规则引擎
- 2024-10-02 drools执行完某个规则后终止别的规则执行
- 2024-10-02 规则引擎Drools 6.5 Final 入门(规则引擎使用案例场景)
- 2024-10-02 JAVA-工作流引擎-activiti-Tasks介绍
- 2024-10-02 drools中使用function(drools实例)
- 2024-10-02 drools执行指定的规则(drools使用)
- 2024-10-02 Drools在eclipse中的安装与验证(eclipse安装installation folder)
- 2024-10-02 drools规则属性(rule attributes)的使用
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)