我希望从流口水的 when 子句中引用 java 类中存在的静态字段。我不想插入代表这个值的事实,因为这个值与我们的系统相关,而不是我们的业务逻辑。具体来说,它用于记录目的。
下面的链接似乎表明可以从 drl 文件中引用静态变量。显然,这将在 then 子句中起作用。是否也可以在 when 子句中引用此值?请记住,我不喜欢使用 eval 语句,因为我知道它们是最后的工具。
http://drools.46999.n3.nabble.com/Access-a-static-variable-from-Java-file-to-DRL-File-td4023641.html
更新:
下面是我需要适合静态调用的代码。基本上,只有当日志级别为某个值时,才会触发流口水。
Java类:
public class LoggingUtilities{
public static LogLevel logLevel = LogLevel.NONE;
}
drl 文件:
import com.myproject.LoggingUtilities;
rule "MyRule"
when
MyFact()
then
Log.writeOut("Some Stuff");
end