1.背景我们在编写drools规则文件的时候,有时候需要用到全局变量,那么如何实现呢?有什么注意事项?二、前置知识1、语法结构2、全局变量的特点使用global来定义全局变量,可以为规则提供数据和服务。全局变量不会写入工作内存,所以我们不能把它们放在规则的约束中,也就是when后面,除非全局变量是常量。如果在不同的包中存在具有相同标识符的常量,那么我们的常量必须是相同的类型,这样它们才能引用相同的值。官网原文:如果在多个包中声明了同一个标识符的全局变量,那么必须将所有的包设置为相同的类型,使它们都引用同一个全局值。尽量不要使用全局变量在规则之间传递参数,如果要在规则之间传递参数,我们应该将Fact对象插入到工作内存中。3.在需求规则文件中定义常量,然后在java代码中设置常量的值。四、实现得出结论:1、数据类型需要保持一致。2.常量在KieSession级别是隔离的。5.代码实现https://gitee.com/huan1993/spring-cloud-parent/tree/master/drools/drools-drl-global-variable6.参考链接https://docs.drools.org/7.69.0.Final/drools-docs/html_single/index.html#drl-globals-con_drl-rules
