gpt4 book ai didi

java - drl 文件中的 Drool 全局变量初始化

转载 作者:行者123 更新时间:2023-12-02 10:09:04 25 4
gpt4 key购买 nike

 package com.example.drools; 

global Integer count; // I want to initialize this count variable with some
default value.

rule "Initialize"
when
then
count= 1; // Locally it's possible but want it to set globally which can
be use in any other rules just simply by calling it.
System.out.println("count="+count);
end

rule "Drools Introduction"
when
then
System.out.println("count="+count); // Here output is coming null which in
want some default value set for
global value.
end

那么想只在 drl 文件中初始化 Count 变量吗?

最佳答案

从规则内部更新全局的方法是使用 automagic 变量kcontext:

global Integer count;

rule "Initialize"
salience 100
when
then
kcontext.getKieRuntime().setGlobal("count", 1);
end

一些注意事项:

  • 您应该在规则中使用高显着性,以便它在任何其他也使用全局规则的规则之前执行。
  • 如果您在规则的 LHS 中使用全局,则此方法将不起作用。如果是这种情况,我建议使用事实而不是全局。

希望对你有帮助

关于java - drl 文件中的 Drool 全局变量初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55123580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com