drools中insert,update等导致死循环的问题
本帖最后由 pingguonjb 于 2013-11-22 20:44:22 编辑 在读Drools5规则引擎开发教程(http://wenku.baidu.com/view/a6516373f242336c1eb95e7c.html)第30页的代码清单2--18时,有一疑问:该段代码(标红的部分)(rule1的insert处)会不会导致死循环啊??? 跪求大侠解惑!!
代码::
#created on: 2009-8-26
package test
import java.util.List;
query "query fact count
Customer();
end
rule "rule1"
salience 2
when
eval(true);
then
Customer cus=new Customer();
cus.setName("张三");
cus.setAge(1);
insert(cus);
end
rule "rule2"
salience 1
when
$customer:Customer(name=="张三",age<10);
then
$customer.setAge($customer.getAge()+1);
update($customer);
System.out.println("----------"+$customer.getName());
end Drools
[解决办法]
能加日志么,跟一下看看
[解决办法]
加上no-loop属性, 这样同一个rule不会被重复执行