我被Drools 5困住了,需要一些帮助。 我想做的是使用传入的DAO并将其中的值赋给局部变量,如下所示......
rule "test rule 1"
when
$carDao : ICarDAO( )
$x : $carDao.getMap()
eval (
$x.contains("a") && $x.contains("b")
)
then
// do stuff
end
Drools 5不允许分配局部变量。 我想分配一个局部变量,这样我就不必对DAO进行两次相同的调用。
那么有人能指出我正确的方向吗?
谢谢! 杰夫波特
答案 0 :(得分:6)
rule "test rule 1"
when
$carDao : ICarDAO( )
$x: java.util.Map( ) from $carDao.getMap()
eval (
$x.contains("a") && $x.contains("b")
)
then
// do stuff
end
ta..dar!
答案 1 :(得分:4)
rule "test rule 1"
when
$carDao : ICarDAO( $x : map )
eval (
$x.contains("a") && $x.contains("b")
)
then
// do stuff
end
或自5.2:
rule "test rule 1"
when
$carDao : ICarDAO( $x : map, map.contains("a"), map.contains("b") )
then
// do stuff
end