Transactions 用于大容量数据处理的EJB事务超时
我的应用程序从一个DB表中读取50k到100k条记录,并通过应用各种公式在不同阶段处理这些记录。我们正在使用bean管理的事务。我们需要创建/更新/删除许多表中的数据。 这一过程始于Transactions 用于大容量数据处理的EJB事务超时,transactions,timeout,ejb,jta,Transactions,Timeout,Ejb,Jta,我的应用程序从一个DB表中读取50k到100k条记录,并通过应用各种公式在不同阶段处理这些记录。我们正在使用bean管理的事务。我们需要创建/更新/删除许多表中的数据。 这一过程始于 EJB定时器 通过与另一个表连接从一个表读取数据(约50K记录数据),并将数据插入临时表(数据临时存储) 读取临时数据,对该数据应用一些公式,并在多个表中插入数据 数据将从此表复制到新表,并连接BI报告的其他表 我没有在用户事务中设置任何事务超时。我正在使用IBMWebSphereAppServer 由于在公式
- EJB定时器
- 通过与另一个表连接从一个表读取数据(约50K记录数据),并将数据插入临时表(数据临时存储)
- 读取临时数据,对该数据应用一些公式,并在多个表中插入数据
- 数据将从此表复制到新表,并连接BI报告的其他表
请帮助我定义更好的方法,以及为什么我获得读取数据的TX超时?您可能会增加查询超时。为了解决您的问题,请参考答案。通常,您在persistence.xml文件中设置了默认超时,但有时当记录数量增加太多时,这是不够的,我在这些情况下使用了ETL技术。。。如果您想使用它,这只是一个建议:)