当前位置: 首页 > 知识库问答 >
问题:

Spring批量分区DBtoFile Java配置示例

袁元明
2023-03-14

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

我编写了一个单线程Spring批处理程序,它使用<code>JDBCPagingItemReaderStateVentItemReader生成此输出。整个过程需要30分钟。我想通过使用Spring批处理本地分区来增强这个程序。任何人都可以共享Java配置代码来完成Spring批处理分区的任务吗?这将把处理拆分为多线程多文件。我尝试过多线程Java配置,但<code>StateVentitemReader</code>是单线程,因此无法工作。我唯一看到的是分区。

感谢你的帮助。

共有1个答案

伍皓
2023-03-14

您是对的,分区是解决此问题的方法。我没有JDBC到XML的示例来配置分区批处理作业,但我确实有一个CSV到JDBC的示例,其中您应该能够将ItemReaderItemWriter替换为您需要的那些(分别为JdbcPagingItemReaderStaxEventItemWriter)。此示例实际上使用Spring Cloud Task将工作线程作为远程进程启动,但是如果您将分区Handler替换为TaskExecutorPartitionHandler(而不是配置的DeploderPartitionHandler),则会在内部以线程的形式执行分区。

https://github.com/mminella/S3JDBC

 类似资料:
  • 在Spring批处理分区中,PartitionHandler的与分区器返回的ExecutionContexts数量之间的关系有点混乱。例如,MultiResourcePartitioner声明它忽略gridSize,但是文档没有解释何时/为什么可以这样做。 例如,假设我有一个,我希望在不同的并行步骤中重用它,并且我将它的大小设置为20。如果我使用网格大小为5的TaskExecutorPartiti

  • 我不确定使用spring Batch是否可行。任何想法或我都无法实现它。谢谢。

  • 本文向大家介绍Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析,包括了Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Thinkphp 框架配置操作之动态配置、扩展配置及批量配置。分享给大家供大家参考,具体如下: 动态配置 设置格式: 例如,我们需要动态改变数据缓存的有效期的话,可以使用 动态配置赋值仅

  • 我正在实现spring批处理作业,用于使用分区方法处理一个DB表中的数百万条记录,如下所示- > 从分区器中的表中提取唯一的分区代码,并在执行上下文中设置相同的代码。 创建一个包含读取器、处理器和写入器的块步骤,以基于特定分区代码处理记录。 是否可以创建分区/线程来处理像thread1进程1-1000,thread2进程1001-2000等? 如何控制创建的线程数,因为分区代码可以是100个左右,

  • 我们正在处理一个Spring批处理项目(Spring Boot1.2.2.Release),要求使用Spring SFTP集成以一定频率轮询从服务器位置读取文件。我们使用java config实现了Spring批处理,并在使用Spring Integration java config的过程中实现了Spring批处理。我找不到描述上述情况的例子。我浏览了各种链接,但看到的主要是XML配置示例。 h

  • 如果是,那么我需要做什么来让它们工作?