@Asynchronous和@Scheduled,entityManager或entityManagerFactory?

时间:2015-08-03 16:08:19

标签: multithreading java-ee jpa asynchronous ejb

我想知道在使用entityManager时是否建议在使用@Asynchronous@schedule注释的方法中使用entityManagerFactory?来自doc:

  

虽然EntityManagerFactory实例是线程安全的,但EntityManager   实例不是。

这是强制性的吗?

1 个答案:

答案 0 :(得分:1)

无状态和有状态EJB被指定为线程安全的,因此EJB容器需要确保一次只能在bean实例上使用一个方法,因此您不必担心这些的EntityManager字段豆类型。对于单例,默认并发模型是带有写锁的容器管理并发,因此您不必担心这些bean的EntityManager字段的并发性,除非您更改并发设置,然后您可能需要考虑使用EntityManagerFactory