Как глобальные переменные устанавливаются для сеанса слюни без сохранения состояния.
Допустим, два потока обращаются к одному и тому же сеансу, но задают массив массивов клиентов глобальной переменной с новым массивом массивов для каждого потока. Заменяет ли Arraylist второго потока список Arraylist первого потока для глобальной переменной customer.
Это похоже на случай из документации класса StatelessKnowledgeSession:
Сеансы StatelessKnowledgeSessions поддерживают глобальные объекты с разными областями видимости. Сначала я расскажу о некомандном способе, поскольку команды привязаны к конкретному вызову выполнения. Глобалы можно решить тремя способами. StatelessKnowledgeSession поддерживает getGlobals (), который возвращает экземпляр Globals. Эти глобальные объекты являются общими для ВСЕХ вызовов выполнения, поэтому будьте особенно осторожны с изменяемыми глобальными объектами в этих случаях - поскольку часто вызовы выполнения могут выполняться одновременно в разных потоках. Globals также поддерживает делегата, который добавляет второй способ разрешения глобальных переменных. Вызов setGlobal (String, Object) будет фактически установлен во внутренней коллекции, идентификаторы в этой внутренней коллекции будут иметь приоритет над предоставленным делегатом, если он добавлен. Если идентификатор не может быть найден во внутренней коллекции, он затем проверит глобальные объекты делегата, если таковой был установлен.
http://docs.jboss.org/jbpm/v5.1/javadocs/org/drools/runtime/StatelessKnowledgeSession.html
Я прав?