如何访问调用drl的类中drl文件中指定的变量

时间:2015-07-09 05:43:22

标签: drools

package rules

import beans.LoginBean;
import beans.MessageBean;

rule "Hello World"
    when
        $a : LoginBean();
        $b: MessageBean();
        eval($a.getUserName().equals("admin"))
    then
       $b.setMessage("Admin logged in");
end

如何通过调用规则类

的类访问此处设置的值

1 个答案:

答案 0 :(得分:0)

这条规则最好写成

rule "Hello World"
when
    $a : LoginBean( userName == "admin" );
    $b: MessageBean();
then
   $b.setMessage( $a.getUserName() + " logged in");
end

由于工作内存中存在事实(= Java对象),因此设置了绑定变量$a$b。会话对象的Java API可用于插入此类事实,或者可以通过其他规则创建和插入事实。