1
我想在drools规则文件(mvel)中声明一个全局变量。这是因为这个全局在所有规则中被用作另一个函数的参数。我可以很容易地在每次调用该函数时都明确地传递这个字符串,但是如果字符串改变,这会很难。Drools:如何声明和分配全局
我想我可以做:
global String someStr = "some string";
但是在编译时,我得到:
[11,31]: [ERR 107] Line 11:31 mismatched input '=' expecting one of the following tokens: '[package, import, global, declare, function, rule, query]'.
所以,很显然,我不能将这种方式。我似乎也无法在该类中声明一个类和一个字符串来引用该类。
所以我发现我可以这样的东西,看来愚蠢:
global String someStr;
rule "Initialize"
when
then
someStr = "some string";
end
这似乎是工作,但是,这将记录此规则匹配的每一个时间(总是)只分配一个全球性的。
有没有更好的办法,我失踪?
如何阅读Drools手册中的7.5.2节全球?在您的情况下可能还需要其他细节,因此我认为阅读文档会有所收获。 – laune
您是否认为我会在未阅读手册的情况下发布?来吧。做这件事的愚蠢的方式,一个真正执行的规则,是从手册直接! – RallyRabbit
哪个手册,哪一部分?你一定是在混淆事物。 - “这将记录每一次”的说法是不正确的。 – laune