在流口水的 statelessKieSession 中插入一个列表作为事实

Inserting a list as fact in statelessKieSession in drools

我正在尝试将列表作为事实插入 kieSession.what 以下两种方法之间的区别是什么?

方法一:

StatelessKieSession kieSession1 = kieBase.newStatelessKieSession();
            kieSession1.execute(List);

方法二:

StatefulKnowledgeSession kieSession = (StatefulKnowledgeSession) kieBase.newKieSession();
kieSession.insert(List);
            kieSession.fireAllRules();

我可以在有状态会话中迭代作为参数在 drl 中发送的列表,但我无法在无状态会话中执行此操作。谁能说出这两个会话如何处理作为事实传递的列表?

StatelessKieSession kieSession1 = kieBase.newStatelessKieSession();
kieSession1.execute( (Object)aList );

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