【发布时间】:2012-07-04 10:36:55
【问题描述】:
我在下面看到了这个博客,关于 Servlet 和将 EJB 注入其中。 作者是从标准的角度来写的。
http://tamanmohamed.blogspot.ie/2012/03/jpa-why-we-need-to-specifies-type-level.html http://tamanmohamed.blogspot.ie/2012/03/jpa-thread-safety-when-injecting.html
“将 EJB 3 有状态 bean 注入 servlet 实例字段不是线程安全的。同样,将带有 @PersistenceContext 的 EntityManager 注入 servlet 实例变量也不是线程安全的。EntityManager 只是不是设计为线程安全的。安全。”
不管怎样,我开始担心我和一位同事一起编写的代码 Glassfish-3.1.2 实现。见下文。 我认为它类似于我在杜克辅导教程中看到的代码,所以应该没问题。 (其中 FaceServlets 使用 @PersistnceContext EntityManager 调用无状态请求 bean。)
但是我想我假设容器管理的 EntityManager 能够应对 由许多 servlet 实例调用的无状态 bean 的大量并发调用。
对于带有 Oracle 数据库的 Glassfish-3.1.2,这是一个正确的假设吗?到目前为止,它似乎运行良好,但可能无法承受重载。
提前感谢您提供任何见解。对不起,我对这个很陌生。 菲奥娜
Servlet
{
@EJB
private StatelessbeanBlah
:
}
@Stateless
StatelessBeanBlah
{
@PersistenceContext(unitname = "...")
private EntityManager em;
【问题讨论】:
标签: concurrency glassfish stateless