【问题标题】:Records omitted from query using JPAPagingitemReader使用 JPAPagingitemReader 从查询中省略的记录
【发布时间】:2014-12-05 07:39:43
【问题描述】:

在我们的项目中,我们在第一步中将批处理所需的所有数据转储到临时表中。在第二步中,我们从 tempory 表中读取数据,处理它(处理器)并从同一个 temp 表中删除它(在 JPAWriter 中)。我们正在使用 JPAPagingItemReader,我们面临同样的问题,因为许多行被跳过。 链接中给出的解决方案(即使用 JDBCPagingItemReader)对我有用

Spring batch jpaPagingItemReader why some rows are not read?

我有几个问题,

  1. 将 JDBCPagingItemReader 与 JPAPagingWriter 一起使用是否正确?
  2. 由于一个步骤会在事务中执行,如果在处理/写入过程中出现回滚等失败会不会有问题?
  3. 我们需要处理 100 万条记录,因此性能方面有任何问题吗?
  4. 除了使用 JDBCPagingItemReader 之外的任何其他方法,请提供

谢谢

【问题讨论】:

    标签: jpa-2.0 spring-batch entitymanager atomikos


    【解决方案1】:
    1. 我想不出 OOTB 不好的原因,但这取决于您的用例。
    2. Spring Batch 旨在处理步骤的事务性。如果出现故障,Spring Batch 的工作就是提供帮助。我需要详细了解您关注的具体错误,才能提出准确的解决方案。
    3. 我不喜欢 JPA 相关的性能相关工作。话虽如此,这取决于查询的复杂性、加载的数据量、处理 100 万条记录的窗口多长时间等,才能判断它是否足够性能。李>
    4. 我建议使用 JdbcPagingItemReader。它是线程安全的,因此如果您需要加快速度,可以采取一些措施来提供帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 2022-08-11
      • 1970-01-01
      相关资源
      最近更新 更多