Java 在drools中的会话中将列表作为事实插入
我试图在kieSession中插入一个列表作为事实。以下两种方法的区别是什么 方法1:Java 在drools中的会话中将列表作为事实插入,java,drools,Java,Drools,我试图在kieSession中插入一个列表作为事实。以下两种方法的区别是什么 方法1: StatelessKieSession kieSession1 = kieBase.newStatelessKieSession(); kieSession1.execute(List); 方法2: StatefulKnowledgeSession kieSession = (StatefulKnowledgeSession) kieBase.newKieSession(); kie
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中的对象。。如何在无状态会话中执行此操作?