spring-batch相关内容
我有这个FileWriter,其中我尝试将当前作业ID追加到生成的文件名中。
..
我正在使用Spring batch读取csv文件。我正在读取csv的内容,并根据entity类之一将此内容写入数据库。 现在,CSV中可能有某些行是错误的,并且与POJO属性不匹配。为了处理此问题,我将我的Step配置如下: Step step = stepBuilderFactory.get("CSV-Step") .chunk(1
..
我有一个方案,在该方案中,我需要同时运行大约50-60个不同的进程并执行任务。 每个进程都必须通过传递一个值并获取要在后续任务中运行的数据,从而使用SQL查询从DB获取数据。 从TABLE_1中选择COL_1、COL_2、COL_3,其中COL_1=:PROCESS_1; @Bean public Job partitioningJob() throws Exception {
..
我有一个Spring批处理作业,它从目录中读取匹配命名模式的文件,执行一些处理,并在输入文件中写回每行的处理状态。编写器必须生成与输入文件同名的输出文件。我将模式“files-*.txt”传递给MultiResourceItemReader,并期望FlatFileItemWriter使用输入文件的名称。如何在上下文XML文件中指定此约束? Reader Bean
..
我有一个文件要分析和处理其中的记录。它以逐行方式工作得很好(一次解析一条记录)。我的要求是,我必须解析多行并从每条记录中获取所需的信息,然后在组合从所有记录中获取的信息之后,我调用一个服务来执行业务逻辑。我必须在我的处理器类中执行此逻辑。数据如下例所示: 001 123456 987654321551580韦恩DR 1 001 123456 987654321552APT 7861
..
在Spring Batch 3.0中,我尝试在分区步骤和多线程步骤(配置了TASK:Executor bean)中对bean使用新的Job作用域功能,在这两种情况下我都会收到异常 Caused by: java.lang.IllegalStateException: No context holder available for job scope at org.spri
..
我有以下要求,但无法决定采取哪种方法: 我需要将数据写入固定格式的输出文件,其中每条记录跨越多行,如下所示: 000120992599999990000000000000009291100000000000000000000000010000 000000000000000000000006050052570009700000050000990494920000111100
..
我在最近一两个小时开始研究Spring Batch。并需要您的输入。 问题:读取一个/多个包含2000万数据的CSV文件,执行次要处理,将其存储在数据库中,并在最短的时间内将输出写入另一个平面文件。 最重要的:我需要做出将来横向扩展的选择。 问题: 使用远程分块或分区进行水平扩展? 由于数据在平面文件中,远程分块和分区都不是好的选择? 哪种多进程解决方案可以读取
..
我想了解Spring Batch是如何进行事务管理的。这不是一个技术问题,而更多的是一个概念性问题:Spring Batch使用什么方法,该方法的后果是什么? 让我试着澄清一下这个问题。例如,查看TaskletStep,我看到通常步骤执行如下所示: 准备步骤元数据的几个作业存储库事务 要处理的每个区块的业务事务 更多作业存储库事务使用区块处理结果更新步骤元数据 这似乎是有道理
..
在批处理作业步骤配置中,我计划在编写器中执行2个查询,第一个查询是更新表A中的记录,第二个查询是再次在表A中插入新记录。 到目前为止,我认为CompositeItemWriter可以实现上面的目标,即我需要创建两个JdbcBatchItemWriter,一个用于更新,另一个用于插入。 我的第一个问题是CompositeItemWriter是否符合上述要求? 如果是,则会引出关于交易的
..
我有一个固定长度的内容平面文件,它包含如下示例记录,没有分隔符因此,它包含特殊的祸不单行字符,数据也跨多行。但是每行都有固定的2000字节/字符,我需要不断地从1-2000、2001-4000等中挑选字节。我已修复索引字符。 注意-此处我不想读取2000行中的所有字符,只想根据范围读取。 Customer.java @AllArgsConstructor @NoArgsConst
..
深入Spring Batch,我想知道如何在作业的不同步骤之间共享数据? 我们可以为此使用JobRepository吗?如果是,我们如何做到这一点? 有没有其他方法可以做到/实现同样的目的? 推荐答案 作业存储库间接用于在步骤之间传递数据(让-菲利普说得对,最好的方法是将数据放入StepExecutionContext,然后使用详细命名的ExecutionContextPr
..
我遇到了一个关于 RepositoryItemWriter 的奇怪问题,它似乎没有通过我配置的 Spring Data JPA 存储库将实体正确地持久化到数据源. 步骤配置 @Beanpublic Step orderStep(StepBuilderFactory stepBuilderFactory, ItemReader orderEncounterReader, ItemWriter
..
在我的 Spring Batch 项目中,作为个别任务的一部分,我有几个更新/删除查询超时,因为它们正在删除大量记录.由于这些只是更新和删除查询,我将它们实现为不是面向块的 Tasklet 步骤. 如何进行频繁提交以避免超时. public 类 DeleteTask 实现 Tasklet {private static final String DELETE_QUERY = "DELETE
..
我正在编写一个 java 应用程序来从一个表中读取数据并将其写入某个文件中.我们的表有数百万条记录,我们需要每天阅读并写入文件.所以,我使用 Spring 批处理和阅读器作为 JdbcPagingItemReader,因为我想读取页面中的记录.以下是我的 bean 定义:-
..
我正在使用弹簧靴和弹簧批处理.对于元表,我想使用 mysql,对于所有业务,我想使用 db2 作为数据库.当我实现获取错误时. application.properties spring.datasource.url = jdbc:mysql://localhost:3306/localspring.datasource.username = rootspring.datasource.p
..
我正在尝试使用 spring amqp 使用rabbitmq,下面是我的配置. 这是一个简单的消息监听类, import org.springframework.amqp.core.Message;导入 org.springframework.amqp.core.MessageListener;公共类 ImportMessageListener 实现 MessageListener {@覆
..
我有一些问题源于我已经通过 其他问题.但是,我仍然想知道根本原因.我的问题如下: spring.handlers 和 spring.schemas 的用途是什么? 据我了解,这是一种告诉 Spring 框架在哪里定位 xsd 的方式,以便正确连接和加载所有内容.但是……
..
..
我的问题与 Spring 批处理和事务有关. 假设我为我的步骤之一选择了 提交间隔 50. 另外假设我总共有 1000 条记录,其中一条会导致 itemWriter 失败,从而导致整个块的回滚(在我的示例中为 50 条记录). 确保在作业完成(并忽略有问题的块)后将 49 条有效记录写入数据库的状态是什么? 解决方案 经过一番研究,我想出了以下几点: 如果一个项目编
..