注入的EntityManager在JSF环境中的线程安全性

时间:2012-11-17 20:59:28

标签: jsf jpa jboss ejb-3.0

是否存在以下模式的线程安全问题或其他代码异味?

使用容器管理的EntityManager注入无状态EJB3 bean:

@Stateless
public class ServiceA implements IServiceA.ILocal {
    @PersistenceContext(unitName="foo")
    private EntityManager em
    ...

..然后使用上面的服务bean注入View-scoped JSF管理的辅助bean:

@ManagedBean
@ViewScoped
public class PageFooController {
    @EJB
    private IServiceA.ILocal serviceA;
    ....

部署环境是JBoss 7,默认使用Hibernate JPA实现。

我之所以要问的是,在模拟数百名用户的压力测试中,我们注意到了错误的JPA实体值(数据库中不存在的值),这可能表明处理实体管理器的实体管理器存在一些竞争条件/线程不安全访问JPA实体。

0 个答案:

没有答案