【问题标题】:Spring Batch Partitiioning DBtoFile Java Configuration ExampleSpring Batch Partitiioning DBtoFile Java 配置示例
【发布时间】:2017-07-09 23:03:13
【问题描述】:

我目前正在开发 Spring Boot 和 Spring Batch 应用程序,以从数据库中读取 200,000 条记录,对其进行处理并生成 XML 输出。

我编写了单线程 Spring Batch 程序,它使用 JDBCPagingItemReader 从数据库中读取 10K 条记录,并使用 StaxEventItemReader 生成此输出。整个过程需要 30 分钟。我想通过使用 Spring Batch 本地分区来增强这个程序。任何人都可以分享 Java 配置代码来完成这项 Spring Batch 分区任务,它将处理拆分为多线程 + 多文件。我尝试了多线程 Java 配置,但 StaxEventItemReader 是单线程,所以它不起作用。我看到的唯一方法是分区。

感谢帮助。

【问题讨论】:

    标签: spring-batch partitioning


    【解决方案1】:

    你是正确的,分区是解决这个问题的方法。我没有关于如何配置分区批处理作业的 JDBC 到 XML 的示例,但我确实有一个 CSV 到 JDBC 的示例,您应该可以将 ItemReaderItemWriter 替换为您需要(分别为JdbcPagingItemReaderStaxEventItemWriter)。此示例实际上使用 Spring Cloud Task 将工作程序作为远程进程启动,但如果您将 partitionHandler 替换为 TaskExecutorPartitionHandler(而不是配置的 DeployerPartitionHandler),则会在内部作为线程执行分区。

    https://github.com/mminella/S3JDBC

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-17
      • 2013-07-26
      • 2012-08-27
      • 2021-09-08
      相关资源
      最近更新 更多