Drools 如何在调用drl的类中访问drl文件中分配的变量
如何访问名为rule类的类在此处设置的值此规则最好写成Drools 如何在调用drl的类中访问drl文件中分配的变量,drools,Drools,如何访问名为rule类的类在此处设置的值此规则最好写成 package rules import beans.LoginBean; import beans.MessageBean; rule "Hello World" when $a : LoginBean(); $b: MessageBean(); eval($a.getUserName().equals("admin")) then $b.setMessag
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
绑定变量
$a
和$b
是由于工作内存中存在事实(=Java对象)而设置的。会话对象有Java API,可以用来插入这些事实,或者可以通过其他规则创建和插入这些事实。你的问题没有意义。“类”不会“调用DRL”。没有“规则类”这样的东西。我所说的规则类是一个声明knowledbase、session和write kSession.fireAllRules()的类;好的,请帮助我访问我在写kSession.fireAllRules()的类的drl文件中设置的消息;
rule "Hello World"
when
$a : LoginBean( userName == "admin" );
$b: MessageBean();
then
$b.setMessage( $a.getUserName() + " logged in");
end