我试图在kieSession中插入一个列表作为事实。下面两种方法的区别是什么?。
方法一:
StatelessKieSession kieSession1 = kieBase.newStatelessKieSession();
kieSession1.execute(List);
方法2:
StatefulKnowledgeSession kieSession = (StatefulKnowledgeSession) kieBase.newKieSession();
kieSession.insert(List);
kieSession.fireAllRules();
我能够迭代在有状态会话中作为drl内部参数发送的列表,但我无法在无状态会话中执行此操作。任何人都可以告诉两个会话如何处理作为事实传递的列表?
答案 0 :(得分:0)
StatelessKieSession kieSession1 = kieBase.newStatelessKieSession();
kieSession1.execute( (Object)aList );
Drools API Javadoc记录了execute
的重载形式,并解释了这两种形式会发生什么。