spring-batch相关内容

不创建春批表也不例外

如果未创建BATCH_JOB_EXECUTION_CONTEXT,我得到的只有: 原因:SQLPreparedStatementCallback;错误的org.springframework.jdbc.BadSqlGrammarException:语法[INSERT INTO BATCH_JOB_EXECUTE_CONTEXT(SHORT_CONTEXT,SERIALIZED_CONTEXT ..
发布时间:2022-02-28 16:03:49 其他开发

是否以编程方式运行Spring批处理作业?

我有一个Spring批处理应用程序,我从CommandLineJobRunner开始。但现在我必须将此应用程序嵌入到我们的企业环境中。在那里我们有一个自己的启动器应用程序,我必须使用它。对于此启动器应用程序,我需要一个带有Main方法的启动类,该方法将在启动时调用,并且我必须在其中启动Spring Batch。 是手动分配JobLauncher并使用此启动程序运行作业的唯一方法,还是Spri ..
发布时间:2022-02-28 16:01:52 Java开发

决定是Spring Batch Step、Tasklet还是Chunk

我有一个简单的要求,我需要(从数据库)读取项目列表,并需要处理这些项目,一旦处理完毕,就必须将其更新到数据库中。 我正在考虑将Spring Batch块与阅读器、处理器和编写器一起使用。我的阅读器将从列表中一次返回一项,并将其发送到处理器,一旦处理结束,它将返回到Writer,在那里它更新数据库 稍后我可能会对其进行多线程处理,但这些方法需要一些同步开销。 在这里我预见到几个问题 ..
发布时间:2022-02-28 16:00:11 其他开发

如何开始使用Spring Batch?

我正在尝试学习Spring Batch,但是startup guide非常混乱。类似 的评论 您可以对以下内容有一个很好的了解 如何通过检查 中的单元测试。 org.springframework.batch.sample 包(在src/main/java中)和 中的配置 src/main/resources/job。 并不完全有帮助。 我还发现样例项目非常复杂(17个非空名称空间和 ..
发布时间:2022-02-28 15:58:53 其他开发

重试不使用FaultTallowantStepBuilder

我正在尝试在容易出错的项目阅读器中构建重试。我已经设置了一个小型PoC来测试是否一切正常,但我无法运行重试。以下是我所做的: @Configuration @EnableBatchProcessing public static class TestConfiguration { // other beans @Bean @Qualifier("importFul ..
发布时间:2022-02-28 15:57:07 其他开发

获取Spring批量SkipPolicy中的作业文件名参数

我有一个使用Spring Batch的作业,我使用BeanIO读取一些文件,并且我会处理无效文件,因此我创建了一个SkipPolicy类。 public class FileVerificationSkipper implements SkipPolicy { private static final FluentLogger LOGGER = LoggerService.init ..
发布时间:2022-02-28 15:55:33 其他开发

JdbcPagingItemReader不使用联接查询

我有两个表TABLE%1和TABLE%2。这两个表都有名称相同的id列。 因为它是左外部联接查询,所以我必须使用别名。 在sortKeys中,如果我提到id,错误是 Caused by: org.postgresql.util.PSQLException: ERROR: column reference "id" is ambiguous 在sortKeys中,如果我提到t1 ..
发布时间:2022-02-28 15:52:58 其他开发

当资源不可用时,如何处理FlatFileItemReader异常,并重试抛出异常的同一步骤?

我使用的是Spring Batch远程分区。我的第一步是为所有其他步骤准备输入文件。其他步骤处理输入文件。 要在所有4台服务器上创建输入文件,我的第一步应该在所有服务器上运行。因此,我在所有服务器上设置了使用者并发1,网格大小4=服务器数量。 但某些服务器上的使用者会多次使用步骤执行请求消息,因此在其他服务器上,第一步不会运行,因此不会准备输入文件,这会导致尝试处理这些文件的其他步骤失败。 ..
发布时间:2022-02-28 15:50:04 其他开发

Spring Batch-FlatFileItemWriter错误14416:流已关闭

基本上我有一个Spring批处理,它查询数据库并实现分区程序以获取作业,并将作业分配给SlaveStep中的ThreadPoolTaskExecutor。 读取器从数据库读取(作业)。编写器将数据加载到Azure Blob存储中的CSV文件。 作业分割器和读取器工作正常。Writer写入一个文件,然后关闭,其他作业无法完成,因为流已关闭。我收到以下错误: Reading: marke ..
发布时间:2022-02-28 15:48:55 其他开发

Spring Batch-读一次,写两次

我是Spring Batch的新手。 我的要求是我有一个读取器,它通过Web服务调用/数据库调用获取记录,目前我正在将这些记录写入一个表。 现在我需要处理相同的记录(读取器读取的记录)并将其写入另一个表。 这里要注意的一点是,在第二次写入中存储的第二个项目属于不同类型的第一次写入。 我需要如下内容 1st Step: - Read items of type A --> Write i ..
发布时间:2022-02-28 15:47:32 其他开发

Spring Batch:如何重新启动和重新运行仅跳过的项目

更正文件中的错误后,是否可以重新启动作业并仅处理跳过的项目?我正在阅读文档,目前没有发现这种可能性。如果作业失败,您可以重新启动作业,但我想在作业完成后重新启动作业,并跳过一些项目。如果这不能通过配置来实现,那么我自己实现它的好方法是什么? 推荐答案 我在与您的案例类似的情况下所做的是将每个跳过的项目记录到一个文件中。 然后,我创建了第二个作业,该作业加载文件并处理所有记录的项目。 ..
发布时间:2022-02-28 15:43:31 其他开发

退出Tasklet内的Spring批处理作业

我有一个Spring Batch微线程,但我不知道如何从它失败。我想检查某些参数,如果它们不在那里,则在该步骤中使作业失败。 @Component public class Tfp211SetupTasklet extends AbstractSetupTasklet { final static Logger LOGGER = LoggerFactory.getLogger(Tf ..
发布时间:2022-02-28 15:41:35 Java开发

Spring Batch如何配置失败作业的重试周期

我需要投递一些高保证金的消息。 此消息应作为有限的集合(至少作为示例100条)交付。 为了解决我的任务,我想我应该使用Spring Batch。 我需要为每次失败的尝试配置成倍增加的时间。 每个数据对象最多应该有5次传送尝试。 我希望有机会通过数据库监控所有尝试和下一次重试时间。 Spring Batch为此提供了准备好的表格。 我的流似乎只有一个作业,但是检查架构可以发现,作业只有状态完成状态( ..
发布时间:2022-02-28 15:39:43 其他开发