如何解决Drools statelessRuleSession api 只执行第一个对象修改的对象列表?
我正在使用 Drools 执行引导决策表(第一次命中)上的对象列表,使用 Drools 提供的 API:
public interface StatelessRuleSession {
/**
* Execute a StatelessKieSession inserting just a single object. If a collection (or any other Iterable) or an array is used here,it will be inserted as-is,* It will not be iterated and its internal elements inserted.
*
* @param object
*/
void execute(Object object);
/**
* Execute a StatelessKieSession,iterate the Iterable inserting each of its elements. If you have an array,use the Arrays.asList(...) method
* to make that array Iterable.
* @param objects
*/
void execute(Iterable objects);
}
但是我得到了一个很奇怪的结果,我应该在决策表中修改对象,但我只发现第一个被修改了。
我在官方doc中搜索了很多,我熟悉FirsT_HIT、RULE_ORDER命中策略。
所以我将我的引导决策表更改为 RULE_ORDER,我得到了我想要的,列表中的所有对象都被修改了。
所以我的问题是 execute(Iterable objects)
在决策表上的行为是什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。