Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EclipseLink EntityManagerFactory线程安全吗?_Java_Jpa_Eclipselink - Fatal编程技术网

Java EclipseLink EntityManagerFactory线程安全吗?

Java EclipseLink EntityManagerFactory线程安全吗?,java,jpa,eclipselink,Java,Jpa,Eclipselink,EclipseLink EntityManagerFactory线程安全吗 在多线程环境中为每个方法调用获取EntityManager是否安全 感谢EntityManagerFactory接口的方法是线程安全的 您可以为特定工作单元的每个方法调用/请求创建EntityManager。EntityManager实例是线程安全的。EclipseLinkEntityManager工厂的实现: org.eclipse.persistence.internal.jpa.EntityManagerFacto

EclipseLink EntityManagerFactory线程安全吗

在多线程环境中为每个方法调用获取EntityManager是否安全


感谢EntityManagerFactory接口的方法是线程安全的


您可以为特定工作单元的每个方法调用/请求创建EntityManager。EntityManager实例是线程安全的。

EclipseLink
EntityManager工厂的实现:

org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl
使用委托

org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate

而且没有一个
EntityManagerFactoryDelegate
API是线程安全的。因此,EntityManagerFactory API不是线程安全的。

尽管EntityManagerFactory做的不多;它只是EntityManager实例的工厂,EclipseLink工厂代码在初始化共享会话的地方进行了同步。它应该是线程安全的,只要您没有从仍在使用它的线程下关闭它。但是EclipseLink的工厂只是一个包装器,所以创建安全的新工厂并不昂贵,而且可以避免总体问题。只需要担心线程安全的EMF,而不是EM