在drools中的statelessKieSession中将列表作为事实插入

时间:2017-07-17 06:09:19

标签: java drools

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

方法一:

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

方法2:

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

我能够迭代在有状态会话中作为drl内部参数发送的列表,但我无法在无状态会话中执行此操作。任何人都可以告诉两个会话如何处理作为事实传递的列表?

1 个答案:

答案 0 :(得分:0)

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

Drools API Javadoc记录了execute的重载形式,并解释了这两种形式会发生什么。