如何使用批注在Spring Batch中运行多个作业

newstackoverflowuser5555

我正在使用Spring Boot + Spring Batch(注释),遇到了必须运行2个作业的场景。

我有员工和薪水记录,需要使用春季批处理进行更新。我已经BatchConiguration按照本教程的spring-batch Employee和Salary对象入门教程(分别名为BatchConfigurationEmployee和BatchConfigurationSalary)配置了类。

我已经定义了ItemReaderItemProcessorItemWriterJob按照这上面已经提到的教程。

当我启动Spring Boot应用程序时,将运行两个Job之一,我想同时运行两个BatchConfigured类。我该如何实现

********* BatchConfigurationEmployee.java *************

@Configuration
@EnableBatchProcessing
public class BatchConfigurationEmployee {
    public ItemReader<employee> reader() {
        return new EmployeeItemReader();
    }

    @Bean
    public ItemProcessor<Employee, Employee> processor() {
        return new EmployeeItemProcessor();
    }

    @Bean   
    public Job Employee(JobBuilderFactory jobs, Step s1) {
        return jobs.get("Employee")
                .incrementer(new RunIdIncrementer())
                .flow(s1)
                .end()
                .build();
    }

    @Bean
    public Step step1(StepBuilderFactory stepBuilderFactory, ItemReader<Employee> reader,
                    ItemProcessor<Employee, Employee> processor) {
        return stepBuilderFactory.get("step1")
                .<Employee, Employee> chunk(1)
                .reader(reader)
                .processor(processor)
                .build();
    }
}

工资班在这里

@Configuration
@EnableBatchProcessing
public class BatchConfigurationSalary {
    public ItemReader<Salary> reader() {
        return new SalaryItemReader();
    }

    @Bean
    public ItemProcessor<Salary, Salary> processor() {
        return new SalaryItemProcessor();
    }

    @Bean
    public Job salary(JobBuilderFactory jobs, Step s1) {
        return jobs.get("Salary")
                .incrementer(new RunIdIncrementer())
                .flow(s1)
                .end()
                .build();
    }

    @Bean
    public Step step1(StepBuilderFactory stepBuilderFactory, ItemReader<Salary> reader,
                    ItemProcessor<Salary, Salary> processor) {
        return stepBuilderFactory.get("step1")
                .<Salary, Salary> chunk(1)
                .reader(reader)
                .processor(processor)
                .build();
    }
}
汉斯约格·温盖尔

在整个Spring Context中,Bean的名称必须唯一。

在这两个作业中,您都使用相同的方法名实例化读取器,写入器和处理器。methodname是用于在上下文中标识Bean的名称。

在两个作业定义中,您都有reader(),writer()和processor()。他们会互相覆盖。给他们唯一的名称,如readerEmployee(),readerSalary()等。

那应该解决您的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重新启动由多个线程运行的Spring Batch作业

来自分类Dev

如何从TALEND中的单个作业运行多个作业

来自分类Dev

在Spring Batch中以编程方式运行作业时出现NoSuchJobException

来自分类Dev

使用批注的Spring Batch 3.0.2并行步骤

来自分类Dev

使用批注的Spring Batch 3.0.2并行步骤

来自分类Dev

如何并行运行Spring Batch作业

来自分类Dev

如何在Spring中使用@ImportResource批注从类路径中加载多个配置文件

来自分类Dev

如何在Spring中使用@ImportResource批注从类路径中加载多个配置文件

来自分类Dev

Spring Batch - 使用相同的作业参数重新运行作业

来自分类Dev

如何在Linux中运行多个后台作业?

来自分类Dev

如何使用Spring Data JPA @Query批注从存储库中查询180天的旧用户

来自分类Dev

如何使用不同的作业参数多次运行spring batch作业?

来自分类Dev

如何使用Spring Batch查看集群中的所有作业?

来自分类Dev

如何使用Spring批注将属性文件中的值注入到现有实例(不受Spring管理)的字段中?

来自分类Dev

运行Spring Batch作业的最佳方法

来自分类Dev

用于多个Spring Batch作业的JobRepository

来自分类Dev

使用 Spring Boot 连续运行 Spring Batch 作业

来自分类Dev

如何在线程池中运行spring-batch作业?

来自分类Dev

使用不同的参数同时执行多个Spring Batch作业

来自分类Dev

如何在batch-int:job-launching-gateway中运行异步批处理作业?

来自分类Dev

在Spring 3中如何做@CrossOrigin批注?

来自分类Dev

如何在Web Servlet中解析Spring @Value批注?

来自分类Dev

如何在Web Servlet中解析Spring @Value批注?

来自分类Dev

如何使用spring @Lookup批注?

来自分类Dev

Spring Batch JobOperator-如何控制同一XML文件中的一个作业的多个并发实例?

来自分类Dev

如何使用Javassist检查运行时批注

来自分类Dev

在Spring Security中@Secured批注中是否使用'or'条件允许多个角色

来自分类Dev

WebStorm 6中的Closure Compiler批注如何使用记录类型?

来自分类Dev

从命令行运行Spring Batch作业

Related 相关文章

  1. 1

    重新启动由多个线程运行的Spring Batch作业

  2. 2

    如何从TALEND中的单个作业运行多个作业

  3. 3

    在Spring Batch中以编程方式运行作业时出现NoSuchJobException

  4. 4

    使用批注的Spring Batch 3.0.2并行步骤

  5. 5

    使用批注的Spring Batch 3.0.2并行步骤

  6. 6

    如何并行运行Spring Batch作业

  7. 7

    如何在Spring中使用@ImportResource批注从类路径中加载多个配置文件

  8. 8

    如何在Spring中使用@ImportResource批注从类路径中加载多个配置文件

  9. 9

    Spring Batch - 使用相同的作业参数重新运行作业

  10. 10

    如何在Linux中运行多个后台作业?

  11. 11

    如何使用Spring Data JPA @Query批注从存储库中查询180天的旧用户

  12. 12

    如何使用不同的作业参数多次运行spring batch作业?

  13. 13

    如何使用Spring Batch查看集群中的所有作业?

  14. 14

    如何使用Spring批注将属性文件中的值注入到现有实例(不受Spring管理)的字段中?

  15. 15

    运行Spring Batch作业的最佳方法

  16. 16

    用于多个Spring Batch作业的JobRepository

  17. 17

    使用 Spring Boot 连续运行 Spring Batch 作业

  18. 18

    如何在线程池中运行spring-batch作业?

  19. 19

    使用不同的参数同时执行多个Spring Batch作业

  20. 20

    如何在batch-int:job-launching-gateway中运行异步批处理作业?

  21. 21

    在Spring 3中如何做@CrossOrigin批注?

  22. 22

    如何在Web Servlet中解析Spring @Value批注?

  23. 23

    如何在Web Servlet中解析Spring @Value批注?

  24. 24

    如何使用spring @Lookup批注?

  25. 25

    Spring Batch JobOperator-如何控制同一XML文件中的一个作业的多个并发实例?

  26. 26

    如何使用Javassist检查运行时批注

  27. 27

    在Spring Security中@Secured批注中是否使用'or'条件允许多个角色

  28. 28

    WebStorm 6中的Closure Compiler批注如何使用记录类型?

  29. 29

    从命令行运行Spring Batch作业

热门标签

归档