Java 在drools中的会话中将列表作为事实插入

Java 在drools中的会话中将列表作为事实插入,java,drools,Java,Drools,我试图在kieSession中插入一个列表作为事实。以下两种方法的区别是什么 方法1: StatelessKieSession kieSession1 = kieBase.newStatelessKieSession(); kieSession1.execute(List); 方法2: StatefulKnowledgeSession kieSession = (StatefulKnowledgeSession) kieBase.newKieSession(); kie

我试图在kieSession中插入一个列表作为事实。以下两种方法的区别是什么

方法1:

StatelessKieSession kieSession1 = kieBase.newStatelessKieSession();
            kieSession1.execute(List);
方法2:

StatefulKnowledgeSession kieSession = (StatefulKnowledgeSession) kieBase.newKieSession();
kieSession.insert(List);
            kieSession.fireAllRules();
我能够在有状态会话中迭代作为参数发送到drl中的列表,但在无状态会话中我无法这样做。有人能告诉我们这两个会话是如何处理作为事实传递的列表的吗

StatelessKieSession kieSession1 = kieBase.newStatelessKieSession();
kieSession1.execute( (Object)aList );
Drools API Javadoc记录了两种重载形式的
execute
,并解释了这两种形式会发生什么


Drools API Javadoc记录了两种重载形式的
execute
,并解释了这两种形式的情况。

您是否阅读了
execute(Iterable x)
insert(Object y)
的javadocs?是的。。execute单独插入所有对象,然后调用fireAllRules。。但是我想使用drl中的列表并迭代drl中的对象。。如何处理无状态会话?您是否阅读了
execute(Iterable x)
insert(Object y)
的javadocs?是的。。execute单独插入所有对象,然后调用fireAllRules。。但是我想使用drl中的列表并迭代drl中的对象。。如何在无状态会话中执行此操作?