从命令行运行Spring Batch作业

前端之家收集整理的这篇文章主要介绍了从命令行运行Spring Batch作业前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我不知道如何使用CommandLineJobRunner调用Spring Batch中定义的Job,文档详细信息对我来说还不够.

我遵循Spring Batch official guide使用Java注释在Spring Batch中编写Jobs,例如@EnableBatchProcessing因为我想避免使用XML配置文件来描述作业,步骤等.

到目前为止,我有:

>一个配置类(com.package.bla.bla.ClassContainingTheBatchConfiguration见下文)我把所有东西定义为ItemReader,ItemProcessor,ItemWriter,Job和Step(返回jobs.get(“nameOfTheJob”)见下文)使用@Bean注释.
>一个带有SpringApplication.run(…)的main方法的类和带有@ImportResource(“classpath:Meta-INF / spring / applicationContext.xml”)的注释,用于导入在处理Job中的数据时需要的一些bean .

在Maven方面,我目前正在使用一些插件

> maven-jar-plugin指定< addClasspath> true< / addClasspath>以及包含标记< mainClass>中的main方法的类
> maven-assembly-plugin因为我想要一个包含依赖项中所有内容的独特可执行jar,我正在使用< phase> package< / package>为了能够在包阶段构建jar,我也使用< goal>单< / goal>能够使用组件正确构建jar
> maven-compiler-plugin指定我正在使用Java 1.7

我想我已经配置了所有需要配置的东西,但是在拥有Maven BUILD SUCCESS之后我无法从命令行运行该作业:

java -cp ./target/JAR_FILE_NAME.jar org.springframework.batch.core.launch.support.CommandLineJobRunner com.package.bla.bla.ClassContainingTheBatchConfiguration nameOfTheJob

由于有关com.package.bla.bla.ClassContainingTheBatchConfiguration的java.io.FileNotFoundException,抛出IOException.我应该如何在命令行中指定参数以便执行作业?

最佳答案
如果您已经在Spring Boot中使用SpringApplication,为什么不完成这项工作并使用@EnableAutoConfiguration,以及Maven插件(参见例如this guide)?通过这种方式,您可以快速获得一些工作,并且您可以随时添加自己的功能.

猜你在找的Spring相关文章