2011-01-21 64 views
0

我卡在中间的东西, 我试图更新对象在drools会话给定的代码,但它无法获取更新。Drools:如何更新Arraylist?

rule "Abc" 
salience 1 
when 
     a:A() 
    then 
     ArrayList al = a.getAllItems(); 
     for(int i =0;i<a.getAllItems().size;i++) 
     { 
      B b = new B(); 
      al.add(b); 
     } 
     a.setAllItems(al); 
     update(a); 
end 

任何suggession或你的帮助会帮我继续前进....

在此先感谢

回答

0

我开始用简单的代码象下面这样:

rule "Abc" 
salience 1 
when 
    a:A() 
then 
    modify($a) { myMethod(); }   
end 



public class A { 
    public void myMethod() { 
    for(Object obj : getAllItems()) { 
     B b = new B(); 
     // ... 
     // ... 
    } 
    } 
}