美文网首页收藏
drools中使用全局变量

drools中使用全局变量

作者: huan1993 | 来源:发表于2022-05-17 16:26 被阅读0次

一、背景

在我们编写drools的规则文件的时候,有些时候需要用到全局变量,那么这个该怎么实现呢?有哪些注意事项呢?

二、前置知识

1、语法结构

01-语法结构.png

2、全局变量的特点

  1. 使用global来定义全局变量,它可以为规则提供数据和服务
  2. 全局变量并不会被写入到工作内存中,因此我们不可放到规则的约束条件中,即when的后面,除非这个全局变量是常量
  3. 如果不同的包中存在相同标识符的常量,那么我们的常量必须是相同的类型,以便可以引用到相同的值。官网原文: 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.
  4. 尽量不要使用全局变量在规则之间传递参数,如果需要在规则之间传递参数,我们应该向工作内存中插入Fact对象。

三、需求

规则文件中定义常量,然后java代码中设置常量的值。

四、实现

02-运行结果.jpg

得到结论:
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

相关文章

  • drools中使用全局变量

    一、背景 在我们编写drools的规则文件的时候,有些时候需要用到全局变量,那么这个该怎么实现呢?有哪些注意事项呢...

  • Drools创建Maven工程

    1.说明 本文介绍创建Drools的Maven工程的方法,仅使用Eclipse开发工具,不使用Drools的相关插...

  • drools中query的使用

    一、背景 我们知道在drools中是存在工作内存的,我们的Fact对象会加入到工作内存中,同时我们自己也可以在dr...

  • Drools的Eclipse_IDEA插件安装

    1.说明 Drools使用时不是必须依赖插件的,只是在安装了相应的插件之后,在开发工具中能识别到对应的drools...

  • SpringBoot入门建站全系列(三十四)使用Drools规则

    SpringBoot入门建站全系列(三十四)使用Drools规则引擎做排班系统 一、概述 Drools 是用 Ja...

  • 2020-09-28 风控系统六-drools规则引擎动态加载规

    一、简介 在前面介绍了使用drools加载规则来作为风控实现。使用drools后可以使业务和规则独立出来。 风控系...

  • Drools介绍与使用

    Drools 是用 Java 语言编写的开放源码规则引擎,使用 Rete 算法对所编写的规则求值。Drools 允...

  • Drools动态加载规则

    使用Drools来做规则的动态加载比较简单,本人结合我们的数据转发场景,来具体说一说。主要使用了Drools的模板...

  • Drools集成SpringBoot

    1.说明 为了更好的在项目中使用Drools,需要把Drools集成到Spring Boot,下面介绍集成的方法,...

  • Vue全局变量的实现方式

    创建js文件,添加需要使用的全局变量 1、全局变量模块导入方式 2、全局变量挂载到Vue.ptototype中

网友评论

    本文标题:drools中使用全局变量

    本文链接:https://www.haomeiwen.com/subject/kasnurtx.html