EJB无状态bean在某种意义上是线程安全的,它们可以被许多客户端同时访问而无需担心,实际上每个客户端都将由不同的实例提供服务。
在客户端,我们使用对特定无状态EJB的代理引用。 EJB代理/远程存根是否也可以安全地调用?
我的意思是,如果我的Spring控制器是带有EJB的Autowired
,那么它的方法可能会被许多线程一次调用。
这一切都是线程安全吗?
答案 0 :(得分:2)
因此,假设仍然保持良好状态,这似乎是答案是'是'。考虑到客户端连接管理,答案也必须是'是'。
答案 1 :(得分:-1)
从http://docs.oracle.com/javaee/6/tutorial/doc/gipjg.html:"当客户端调用无状态bean的方法时,bean的实例变量可能包含特定于该客户端的状态,但仅限于调用的持续时间&#34 ; 。这加上有一个无状态bean池(为什么需要集合无状态对象 - 一个应该足够)的事实表明无状态bean本质上不是线程安全的。 EJB容器很可能确保在"相同的"上进行并发调用。 bean最终会出现在不同的池化实例上