Jpa EntityManager是通过Java EE应用服务器中CDI中的@PersistenceContext获得的线程安全吗? 我知道自己实例化的EntityManager不是线程安全的 我知道在EJB中通过@PersistenceContext注入的EntityManager的行为类似于线程安全,因为EJB容器序列化了对EJB bean的访问 我知道在EJB中,EntityManager实际上是一个代理 我知道,当我通过@PersistenceContext将EntityManager注入@DependentCDIBean并将该bean注入EJB时,它的行为就像线程安全一样,因为它覆盖了EJB(我相信在这种情况下EntityManager也是代理)
但是:Jpa EntityManager是通过Java EE应用服务器中CDI中的@PersistenceContext获得的线程安全吗? 我知道自己实例化的EntityManager不是线程安全的 我知道在EJB中通过@PersistenceContext注入的EntityManager的行为类似于线程安全,因为EJB容器序列化了对EJB bean的访问 我知道在EJB中,EntityManager实际上是一个代理 我知道,当我通过@PersistenceContext将EntityManager注入@DependentCDIBean并将该bean注入EJB时,它的行为就像线程安全一样,因为它覆盖了EJB(我相信在这种情况下EntityManager也是代理),jpa,jakarta-ee,thread-safety,ejb,cdi,Jpa,Jakarta Ee,Thread Safety,Ejb,Cdi,但是: 当我通过@PersistenceContext将EntityManager注入CDIBean并直接在Servlet中使用该bean时会发生什么?我相信这个EntityManager是一个代理,那么这个代理能保证线程安全吗 编辑:类似的问题并不能解决我的问题,因为接受的答案显示的是EJB示例,而不是CDI示例 编辑:我检查了WildFly应用服务器的源代码,发现WildFly在CDI中使用了线程安全代理。此代理在需要时选择real EntityManager。Real EntityMa
- 当我通过
将@PersistenceContext
注入CDIBean并直接在Servlet中使用该bean时会发生什么?我相信这个EntityManager
是一个代理,那么这个代理能保证线程安全吗EntityManager
可能的副本,看看该链接是否有助于您@JGlass,这个链接并不能解决我的问题,因为公认的答案显示的是EJB示例,而不是CDI示例。他们让人觉得不管EJB还是CDI,它都不是线程安全的。关于另一个问题的OP陈述了与您相同的问题-我认为它们只是与EJB相关的示例,而不是CDI,但仍然相关?不,CDI与EJB不同。