我是mongoDb和drowls的新手。我正在drools中编写一条规则,它是对java列表进行迭代。但当运行tomcat时,它给出了规则编译错误。
从dao获取列表:-
List<XYZ> list = new ArrayList<XYZ>();
Query q = query(where("id").is(userId));
list = getMongoOperation().find(q, XYZ.class, "XYZ");
在流媒体引擎中使用列表规则:-
for(XYZ xyzObj : list)
{
}
型号类别:-
@Document(collection="XYZ")
public class XYZ
{
}
我在运行tomcat时遇到了异常。"规则编译错误:只能在java.lang.Iterable的数组或实例上迭代"
规则文件:-
导入java.util.List;导入java.util.Iterator;全球com.demo.XXYZ列出
规则"1_Demo_rule"
当道具:RULEDEMO(属性="demo"),然后
for(XYZ xyzObj : list) { }
结束
由于DRL解析器中的限制,您将根本无法使用for语句的短语法。
考虑到
global List<com.demo.XYZ> list;
使用不太好的
for( int i = 0; i < list.size(); i++ ){
XYZ xyzObj = list.get(i);
// ...
}