java - Spring Batch配置异常

标签 java spring spring-batch

我有下一个 Spring 批量配置类:

@Configuration
@EnableBatchProcessing
public class BatchJobConfiguration {

    @Autowired
    private JobBuilderFactory jobBuilderFactory;

    @Autowired
    private StepBuilderFactory stepBuilderFactory;

    @Bean
    public Step step1() {
        return stepBuilderFactory.get("step1")
                .tasklet(new Tasklet() {
                    public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) {
                        return null;
                    }
                })
                .build();
    }

    @Bean
    public Job job(Step step1) throws Exception {
        return jobBuilderFactory.get("job1")
                .incrementer(new RunIdIncrementer())
                .start(step1)
                .build();
    }
}

当我开始我的应用程序时,我收到下一个异常:

Caused by: java.lang.ClassCastException: org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean$$EnhancerBySpringCGLIB$$65a19538 cannot be cast to org.springframework.batch.core.repository.JobRepository at org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$$EnhancerBySpringCGLIB$$14f7a80d.jobRepository() at org.springframework.batch.core.configuration.annotation.AbstractBatchConfiguration.jobBuilders(AbstractBatchConfiguration.java:58) at org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$$EnhancerBySpringCGLIB$$14f7a80d.CGLIB$jobBuilders$6() at org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$$EnhancerBySpringCGLIB$$14f7a80d$$FastClassBySpringCGLIB$$c6b630d7.invoke() at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:312) at org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$$EnhancerBySpringCGLIB$$14f7a80d.jobBuilders() at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)

在 pom.xml 中我有下一个依赖项:

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-batch</artifactId>
</dependency>

提前致谢。

最佳答案

JobRepository 实例需要重命名,否则 Spring 上下文将找到不正确的 Autowiring 候选者。

关于java - Spring Batch配置异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32103284/

相关文章:

java - Servlet文件上传

java - 2way ssl 与 java

java - Spring的Json没有通过适当的响应得到解决

java - 使用 Java 注解的 ViewResolver

java - 如何在 Java 中循环遍历大型 SQL 结果集或一次获取 X 行数

java - Android Studio - 编译错误 : (App keeps stopping) -> RuntimeException: Unable to instantiate activity

java - 如何使用java JDBC获取MySql的数据库列表 "Schema"名称

java - Spring afterPropertiesSet 在 Servlet 初始化之前调用?

java - 如何使用 MultiResourceItemReader 读取多个文件?

spring - DataSourceTransactionManager 和 ResourcelessTransactionManager 有什么区别?