Бобы без гражданства :
Каждый поток / запрос получит другой экземпляр EJB из пула. SLB не должен содержать никаких данных сеанса пользователя, любого состояния. Один и тот же код может выполняться параллельно. Один экземпляр доступен по одному потоку за раз.
Statefull bean синхронизируются для сеанса пользователя. Каждый пользователь получит собственный экземпляр сессий. Второй поток / запрос будет ожидать окончания первого потока. Statefull EJB может хранить пользовательские данные. Один пользователь не может выполнять один и тот же код параллельно. Разные пользователи могут выполнять один и тот же код параллельно.
При доступе к ресурсу, который не позволяет параллельный доступ, используйте Singleton EJB . Как следует из названия, есть только один экземпляр. По умолчанию EJB Singleton может быть доступен только одному потоку (одновременный доступ к контейнерам и @Lock (WRITE)).