代码之家  ›  专栏  ›  技术社区  ›  Nikhil Pareek

如何使用具有Java配置的CommandLineJobRunner启动Spring批处理作业

  •  4
  • Nikhil Pareek  · 技术社区  · 6 年前

    我在基于Java的配置文件中有批处理作业定义。我看到了 CommandLineJobRunner 可用于启动作业,但应在中定义作业定义。xml。我想使用 CommandLineJobRunner 运行基于java的配置中定义的作业。

    根据此处的文档: https://docs.spring.io/spring-batch/trunk/reference/html/configureJob.html#commandLineJobRunner ,没有这样做的详细信息。

    我们能这样做吗?其他的选择是什么?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Mahmoud Ben Hassine    5 年前

    的第一个参数 CommandLineJobRunner 可以是:

    • 包含作业定义的xml文件
    • 或包含作业定义的配置类的完全限定名

    从Spring Batch v4开始,每个文档页面的顶部都有一个切换,允许您以Java或Xml配置显示示例。例如,当切换设置为“Java”时,此处的文档部分: https://docs.spring.io/spring-batch/4.0.x/reference/html/job.html#runningJobsFromCommandLine 显示如何使用 CommandLineJobRunner 使用Java配置类:

    $>java -cp your/class/path org.springframework.batch.core.launch.support.CommandLineJobRunner io.spring.EndOfDayJobConfiguration endOfDay schedule.date(date)=2007/05/05
    

    io.spring.EndOfDayJobConfiguration 是包含 endOfDay 作业定义。