2016-06-14 54 views
0

我是新来Drools6.4.0.FINAL并想用它来遍历的项目清单,并处理我的业务逻辑如何口水遍历列表

我的业务数据返回列表,我想插成KieSession

List<MyObject> list = service.queryList(Map<String,Object> param); 
kSession.insert(list); 
kSession.fireAllRules(); 

我的DRL文件是这样的:

import java.util.List; 
import xxx.xxx.MyObject; 

rule "rule 1" 
salience 1 
activation-group "ctoc_order_rule" 
when 
    $mo:MyObject(orgunitid_lev1 == 58094); 
then 
    $mo.setBusiness_type_id(201); 
    $mo.setBusiness_type_name("business201"); 
    update($mo); 
end 

但这不火我的规则,我该怎么做才能触发一个列表?谢谢

回答

0

如果要匹配java.util.List,请插入一个列表并编写一个模式List(...)

如果要匹配xxx.xxx.MyObject,请插入一个MyObject并写入一个模式MyObject(...)

如果您插入一个列表并且模式为MyObject(...),它不能匹配。可以匹配列表并提取元素(使用from),但匹配(通用)容器类有些反模式。如果你有几种包含各种对象的List?

+0

好吧,谢谢,所以我必须迭代MyObject来激发我的规则 –

+0

也许,但我不这么认为。怎么样插入MyObject对象? – laune