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

使用Spring批处理读取具有重复批处理的文件

曹凯泽
2023-03-14

我知道匹配模式解析器,这是Spring批处理提供的。我需要关于如何构造批处理作业的帮助,以便它可以读取循环中的记录类型5和记录类型6。

共有1个答案

史淳
2023-03-14

显然,您需要一个自定义的项目阅读器来进行这种输入。您可以使用SingleItempeeKableItemReader来查看即将到来的项目是否属于类型5,并将以下事务添加到CLOB中。由于一个逻辑项跨越多个物理行,您可以遵循与这些示例相同的思路:

  • https://github.com/spring-projects/spring-batch/tree/master/spring-batch-samples#multiline
  • https://github.com/spring-projects/spring-batch/tree/master/spring-batch-samples#multiline-order-job

希望这有帮助。

 类似资料:
  • 我正在尝试创建一个应用程序,该应用程序使用spring-batch-excel扩展名来读取用户通过web界面上传的Excel文件,以便解析Excel文件中的地址。 当代码运行时,没有错误,但我得到的只是我日志中的以下内容。即使我的处理器和Writer中都有log/syso(它们从未被调用过,我所能想象的是它没有正确读取文件,也没有返回要处理/写入的数据)。是的,这个文件有数据,实际上有几千条记录。

  • 我正在使用JpaPagingItemReaderBuilder查询一个DB,结果被插入到另一个DB中。 查询返回的结果没有任何问题,但我得到了一个错误与读取器的返回,在处理器中,您可以检查我的编码和错误下面。 有谁能给我一点启示吗?为什么我不能处理结果?

  • 我想创建带有Spring批处理Rest控制器和动态输入文件名的项目。 我的代码:Rest控制器 公共类FileNameController{ } 作业配置: @EnableBatchProcessing公共类JobConfig{ } 我写网址的时候:http://localhost:8080/launch job?fileName=djecc5cpt.csv控制台打印: SQL语法[SELECTJ

  • 我有以下工作要处理在一定的时间间隔或特别的基础上。 作业中的步骤如下: 我也想要用户界面,在那里我可以触发一个特别的基础上的工作,而且我应该能够提供参数从用户界面。 我想用Spring batch来完成这个任务,但它更多的是用于读->处理->写之类的工作。这里,在第一步中,我正在生成由第二步读取的数据。我不确定我是否还可以使用Spring batch来实现这个,或者有更好的方法来实现这个。

  • 我想重用一个现有的、事务性的、分页的服务类,它在Spring批处理作业中使用JPA从数据库中检索项目,作为读取器。我想这样做,而不是直接使用JpaPagingItemReader,这基本上是因为JPA查询构建起来更加复杂,而且服务已经提供了这种功能。 我的问题是,在这个服务上开发Spring批处理适配器时,我应该考虑哪些事情。尽管参考文档http://docs.spring.io/spring-b

  • 在Spring批处理中,我试图读取CSV文件,并希望将每一行分配给一个单独的线程并对其进行处理。我试图通过使用TaskExecutor来实现它,但所有线程都在一次拾取同一行。我还尝试使用Partioner实现这个概念,同样的事情也发生了。请参阅下面我的配置Xml。 步骤说明 我尝试过不同类型的任务执行器,但它们的行为方式都是一样的。如何将每一行分配给单独的线程?