【发布时间】:2012-09-18 06:09:47
【问题描述】:
最近我正在使用流口水,我想对某些对象进行一些特殊检查。我需要使用规则的when 部分中的函数,但出现错误。示例:
function boolean newFunction(int a){
if(a>0)
return true;
else
return false;
}
rule "new rule"
salience 100
dialect "mvel"
when
eval(newFunction(1))
then
System.out.println("OK");
end
我总是得到的错误是:
unable to resolve method using strict-mode: java.lang.Object.newFunction(java.lang.Integer)
whensection 中的函数不支持流口水吗?
谢谢!
【问题讨论】:
-
如答案中所述,Drools 函数不适用于 LHS。但是,我假设您之所以问这个问题是因为您实际上是在寻求在 LHS 中实现代码的重用。为此,您可以使用“extends”关键字。即
rule "a rule" extends "another rule"。不幸的是,Drools 文档中没有提到这个相当有用的功能。