在servlet中注入EntityManager,似乎不是线程安全的

som*_*ing 6 servlets dependency-injection jpa entitymanager java-ee

我想在Java EE中创建一个登录应用程序.我想过使用html页面,servlet和用户的实体类来实现它,但似乎EntityManager不是线程安全的(不能在servlet中注入,我需要它来检查数据库).

我读到了,EntityManagerFactory但是EntityManager当我可以让容器做的时候,我不想管理生产的生活.我认为可以使用DAO模式进行一些实现,这样我就可以在servlet中拥有一个实体管理器,类似于包含管理器的DAOImpl,并将该类作为servlet中的私有变量.但我在网上找不到任何有用的教程.

有人可以为此提供实施吗?

Eze*_*iel 2

正确的方法是创建一个 LoginService 作为 @Stateless。它应该包含 EntityManager。这个 EJB 关注点是管理登录。

现在将 EJB 注入到您的 servlet 中。

容器将关心并发性。

http://www.adam-bien.com/roller/abien/entry/is_in_an_ejb_injected