如果我的理解是正确的,容器不会同时调用SLSB。呼叫被序列化或创建新的SLSB实例。我的问题是:
从具有ConcurrencyManagement.BEAN的单一操作访问SLSB是否安全?可以发生并发调用?
如果它是安全的,在SLSB中使用实体管理器实例也是安全的,因为entitymanager不是线程安全的,并且如果SLSB实例在不同线程之间共享,则实体管理器也在线程之间共享。
提前致谢!
答案 0 :(得分:1)
对于这两个问题都是的,这是安全的。 一个会话bean,无状态或有状态只能一次只能由一个线程使用。
来自EJB 3.1规范:
容器必须确保只有一个线程可以执行无状态或有状态会话bean 实例在任何时候。
http://download.oracle.com/otndocs/jcp/ejb-3.1-pfd-oth-JSpec/
如果来自您的单身的2个并发呼叫,这些呼叫将由2个不同的SLSB实例提供。