jpa - Entitymanager实例的生命周期

标签 jpa entitymanager

我有一个要求,我们创建一个 Statelebean,它在 EJB3 环境中创建一个容器管理的 EntityManager 实例(使用 @PersistenceContext)。 在创建的这个无状态 bean 中,我们创建了在特定时间间隔执行的线程。该线程将运行数月。 我怀疑从容器(使用 CMP)获取的单个 EntityManager 实例是否可以在整个生命周期(> 1yrs)中使用。

最佳答案

对于EntityManager的生命周期:我认为这更多是数据库连接生命周期的问题。在这种情况下,当 JPA 提供程序检测到连接超时时,如果您使用 autoReconnect=true 配置 JDBC 连接字符串,您会期望构建另一个连接。此外,您还应该寻找设置较长超时的可能性。

另一方面,您可能会忽略在 EJB 中不允许打开新线程。就您而言,当涉及托管实体(在不同线程中更改)和事务问题时,您会遇到一些问题。相反,我会使用 Timer Service .

关于jpa - Entitymanager实例的生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19174686/

相关文章:

java - Arquillian 中的多个容器错误

集群环境下的Spring JPA事务

java - 如何将带有增量参数的 hibernate 生成器 ="sequence"转换为 JPA

spring-boot - Spring 启动错误:请考虑在您的配置中定义一个名为“entityManagerFactory”的bean

google-app-engine - NoClassDefFoundError 无法初始化类 EMFService

java - 从 hibernate 配置创建 EntityManagerFactory

java - 如何通过很多id找到一些数据?

java - 这个 JPA "cached hashCode"模式有什么陷阱吗?

symfony - EntityManager 已关闭

java - 数据源不能为空