Java JTA容器管理事务中的超时问题

Java JTA容器管理事务中的超时问题,java,jpa,eclipselink,jta,Java,Jpa,Eclipselink,Jta,我正在使用eclipselink jpa进行数据库交互。我需要处理大量数据,进行webservice调用,并且必须将响应插入表中。整个过程所需时间稍长,根据用户数量,可能需要30分钟。 我正在使用容器管理的事务,使用下面的注释 @PersistenceContext(unitName=“MyAppPU”) 私人实体管理者 @无状态@TransactionManagement(TransactionManagementType.CONTAINER) 当程序运行较长时间时,按如下方式设置超时异常 `

我正在使用eclipselink jpa进行数据库交互。我需要处理大量数据,进行webservice调用,并且必须将响应插入表中。整个过程所需时间稍长,根据用户数量,可能需要30分钟。 我正在使用容器管理的事务,使用下面的注释

@PersistenceContext(unitName=“MyAppPU”) 私人实体管理者

@无状态@TransactionManagement(TransactionManagementType.CONTAINER)

当程序运行较长时间时,按如下方式设置超时异常

`原因:java.sql.SQLException:事务不再处于活动状态 -状态:'已标记回滚。[Reason=weblogic.transaction.internal.TimedOutException:事务 123秒后超时BEA1-0A674B56FA04CB79C16B]'。不再 此事务中允许JDBC访问


是否有人可以为其提出任何解决方案或解决方法?

您是否尝试手动设置连接超时>30分钟?是的,我可以看到该选项,但无法访问服务器。通过向技术服务团队提出请求,可以将此视为最后一个选项。感谢您的建议。代码中还有其他方法可以实现它吗?您没有配置超时吗?如果是这样,您可以在配置文件中设置超时(请参阅)。我不知道PersistenceUnit来自哪里。如果超时是事务超时,那么只有容器配置可以控制它。当容器被管理时,JPA对事务并没有控制权,它只是向事务注册监听器以获得回调来完成提交工作。不过,我会看看你的流程,因为30分钟似乎很长,很多事情都会出错。您可以尝试缩短事务或先中断事务。您是否尝试手动设置连接超时>30分钟?是的,我可以看到该选项,但无法访问服务器。通过向技术服务团队提出请求,可以将此视为最后一个选项。感谢您的建议。代码中还有其他方法可以实现它吗?您没有配置超时吗?如果是这样,您可以在配置文件中设置超时(请参阅)。我不知道PersistenceUnit来自哪里。如果超时是事务超时,那么只有容器配置可以控制它。当容器被管理时,JPA对事务并没有控制权,它只是向事务注册监听器以获得回调来完成提交工作。不过,我会看看你的流程,因为30分钟似乎很长,很多事情都会出错。您可以尝试缩短事务或先将其分解。