spring-batch相关内容

重载弹簧批量多道工序,每道工序下有多个螺纹

我有一个方案,在该方案中,我需要同时运行大约50-60个不同的进程并执行任务。 每个进程都必须通过传递一个值并获取要在后续任务中运行的数据,从而使用SQL查询从DB获取数据。 从TABLE_1中选择COL_1、COL_2、COL_3,其中COL_1=:PROCESS_1; @Bean public Job partitioningJob() throws Exception { ..

FlatFileItemWriter应写入与输入文件同名的输出文件

我有一个Spring批处理作业,它从目录中读取匹配命名模式的文件,执行一些处理,并在输入文件中写回每行的处理状态。编写器必须生成与输入文件同名的输出文件。我将模式“files-*.txt”传递给MultiResourceItemReader,并期望FlatFileItemWriter使用输入文件的名称。如何在上下文XML文件中指定此约束? Reader Bean ..
发布时间:2022-02-28 14:31:38 其他开发

Spring Batch-如何在处理器中同时处理多条记录?

我有一个文件要分析和处理其中的记录。它以逐行方式工作得很好(一次解析一条记录)。我的要求是,我必须解析多行并从每条记录中获取所需的信息,然后在组合从所有记录中获取的信息之后,我调用一个服务来执行业务逻辑。我必须在我的处理器类中执行此逻辑。数据如下例所示: 001 123456 987654321551580韦恩DR 1 001 123456 987654321552APT 7861 ..
发布时间:2022-02-28 14:29:58 其他开发

Spring Batch 3.0中对作业范围Bean的多线程访问

在Spring Batch 3.0中,我尝试在分区步骤和多线程步骤(配置了TASK:Executor bean)中对bean使用新的Job作用域功能,在这两种情况下我都会收到异常 Caused by: java.lang.IllegalStateException: No context holder available for job scope at org.spri ..
发布时间:2022-02-28 14:28:28 其他开发

Spring Batch-读取大型平面文件-选择横向扩展?

我在最近一两个小时开始研究Spring Batch。并需要您的输入。 问题:读取一个/多个包含2000万数据的CSV文件,执行次要处理,将其存储在数据库中,并在最短的时间内将输出写入另一个平面文件。 最重要的:我需要做出将来横向扩展的选择。 问题: 使用远程分块或分区进行水平扩展? 由于数据在平面文件中,远程分块和分区都不是好的选择? 哪种多进程解决方案可以读取 ..
发布时间:2022-02-28 14:25:41 其他开发

Spring批量事务管理是如何工作的?

我想了解Spring Batch是如何进行事务管理的。这不是一个技术问题,而更多的是一个概念性问题:Spring Batch使用什么方法,该方法的后果是什么? 让我试着澄清一下这个问题。例如,查看TaskletStep,我看到通常步骤执行如下所示: 准备步骤元数据的几个作业存储库事务 要处理的每个区块的业务事务 更多作业存储库事务使用区块处理结果更新步骤元数据 这似乎是有道理 ..
发布时间:2022-02-28 14:23:52 其他开发

Spring Batch CompositeItemWriter如何管理委托编写器的事务?

在批处理作业步骤配置中,我计划在编写器中执行2个查询,第一个查询是更新表A中的记录,第二个查询是再次在表A中插入新记录。 到目前为止,我认为CompositeItemWriter可以实现上面的目标,即我需要创建两个JdbcBatchItemWriter,一个用于更新,另一个用于插入。 我的第一个问题是CompositeItemWriter是否符合上述要求? 如果是,则会引出关于交易的 ..
发布时间:2022-02-28 14:22:40 其他开发

Spring Batch:读取不带换行符的定宽文件

我有一个固定长度的内容平面文件,它包含如下示例记录,没有分隔符因此,它包含特殊的祸不单行字符,数据也跨多行。但是每行都有固定的2000字节/字符,我需要不断地从1-2000、2001-4000等中挑选字节。我已修复索引字符。 注意-此处我不想读取2000行中的所有字符,只想根据范围读取。 Customer.java @AllArgsConstructor @NoArgsConst ..
发布时间:2022-02-28 14:21:02 其他开发

如何在Spring Batch中的Job的不同步骤之间共享数据?

深入Spring Batch,我想知道如何在作业的不同步骤之间共享数据? 我们可以为此使用JobRepository吗?如果是,我们如何做到这一点? 有没有其他方法可以做到/实现同样的目的? 推荐答案 作业存储库间接用于在步骤之间传递数据(让-菲利普说得对,最好的方法是将数据放入StepExecutionContext,然后使用详细命名的ExecutionContextPr ..
发布时间:2022-02-28 14:19:08 其他开发

如何进行频繁提交,以便我的 sql 删除查询不会超时

在我的 Spring Batch 项目中,作为个别任务的一部分,我有几个更新/删除查询超时,因为它们正在删除大量记录.由于这些只是更新和删除查询,我将它们实现为不是面向块的 Tasklet 步骤. 如何进行频繁提交以避免超时. public 类 DeleteTask 实现 Tasklet {private static final String DELETE_QUERY = "DELETE ..
发布时间:2022-01-14 22:43:05 其他开发

添加“with ur"或由 JdbcPagingItemReader 生成的查询中的任何其他前缀

我正在编写一个 java 应用程序来从一个表中读取数据并将其写入某个文件中.我们的表有数百万条记录,我们需要每天阅读并写入文件.所以,我使用 Spring 批处理和阅读器作为 JdbcPagingItemReader,因为我想读取页面中的记录.以下是我的 bean 定义:- ..
发布时间:2022-01-14 22:24:26 其他开发

Spring批处理中的提交间隔和处理回滚

我的问题与 Spring 批处理和事务有关. 假设我为我的步骤之一选择了 提交间隔 50. 另外假设我总共有 1000 条记录,其中一条会导致 itemWriter 失败,从而导致整个块的回滚(在我的示例中为 50 条记录). 确保在作业完成(并忽略有问题的块)后将 49 条有效记录写入数据库的状态是什么? 解决方案 经过一番研究,我想出了以下几点: 如果一个项目编 ..
发布时间:2022-01-06 20:57:28 Java开发