如何全局变量Drools的无状态会话设置。全局变量
比方说,两个线程访问同一个会话,但设置一个全局变量客户的ArrayList为每个线程 新的ArrayList。第二个线程的数组列表替换了全局变量客户的第一个线程的数组列表。
这似乎从StatelessKnowledgeSession类文档的情况:
StatelessKnowledgeSessions支持全局,作用域在许多方面。我将首先介绍非命令方式,因为命令的范围是特定的执行调用。全局可以通过三种方式解决。 StatelessKnowledgeSession支持getGlobals(),它返回一个Globals实例。这些全局变量是所有执行调用共享,所以要特别小心,在这些情况下可变的全局变量 - 经常执行的呼叫可以在不同的线程同时执行。 Globals还支持委托,这增加了解决全局性的第二种方法。 setGlobal(字符串,对象)的调用实际上将在内部收集集,在这个内部集合标识符将优先提供的委托,如果添加一个。如果在内部集合中找不到标识符,则会检查委托全局(如果已设置)。
http://docs.jboss.org/jbpm/v5.1/javadocs/org/drools/runtime/StatelessKnowledgeSession.html
对吗?