将 Spring Batch 版本 4.x 升级到 5.x 时出现 BatchMetaDataConfiguration 问题

问题描述 投票:0回答:1

`我有下面的类来配置正在运行的作业的元数据信息。作为 Spring Batch 5 的一部分,我了解“MapJobRepositoryFactoryBean”不再可用。有什么替代方案以及如何实现以下功能?

@Configuration
@EnableBatchProcessing
public class BatchMetaDataConfiguration {

@Bean
public ResourcelessTransactionManager transactionManager() {
return new ResourcelessTransactionManager();
}

@Bean
public MapJobRepositoryFactoryBean mapJobRepositoryFactory
(ResourcelessTransactionManager   txManager)
throws Exception {
MapJobRepositoryFactoryBean factory = new MapJobRepositoryFactoryBean(txManager);
factory.afterPropertiesSet();
return factory;
}

@Bean
public JobRepository jobRepository(MapJobRepositoryFactoryBean factory) throws Exception {
return factory.getObject();
}

@Bean
public JobExplorer jobExplorer(MapJobRepositoryFactoryBean factory) {
return new SimpleJobExplorer(factory.getJobInstanceDao(), factory.getJobExecutionDao(),
factory.getStepExecutionDao(), factory.getExecutionContextDao());
}

@Bean
public SimpleJobLauncher jobLauncher(JobRepository jobRepository) {
SimpleJobLauncher launcher = new SimpleJobLauncher();
launcher.setJobRepository(jobRepository);
return launcher;
}

}

我浏览了 Spring Batch 5.0 的迁移指南和示例,但仍然没有找到此问题的解决方案。

spring-boot migration spring-batch spring-batch-tasklet
1个回答
0
投票

有什么替代方案以及如何实现以下功能?

另一种方法是使用带有内存数据库的 JDBC 作业存储库实现。迁移指南中提到了这一点:https://github.com/spring-projects/spring-batch/wiki/Spring-Batch-5.0-Migration-Guide#job-repositoryexplorer-configuration-updates

© www.soinside.com 2019 - 2024. All rights reserved.