使用CommandLineJobRunner运行Spring批处理作业

向您展示如何使用CommandLineJobRunner运行Spring批处理作业的快速指南。

1. Spring批处理作业示例

一个简单的工作。

resources/spring/batch/jobs/job-read-files.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans ...
   <import resource="../config/context.xml"/>
  
   <job id="readJob" xmlns="http://www.springframework.org/schema/batch">
      <step id="step1">
	<tasklet>
		<chunk reader="flatFileItemReader" 
                          writer="flatFileItemWriter" commit-interval="1" />
	</tasklet>
      </step>
   </job>
 
	<!-- ... -->
</beans>

2.包装项目

使用Maven将您的项目打包到单个jar文件– target / your-project.jar中 ,然后将所有依赖项复制到target / dependency-jars /中 。

pom.xml

<!-- ... -->
  <plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-dependency-plugin</artifactId>
	<version>2.5.1</version>
	<executions>
	  <execution>
		<id>copy-dependencies</id>
		<phase>package</phase>
		<goals>
			<goal>copy-dependencies</goal>
		</goals>
		<configuration>
			<outputDirectory>
				${project.build.directory}/dependency-jars/
			</outputDirectory>
		</configuration>
	  </execution>
	</executions>
  </plugin>
$ mvn package

3. CommandLineJobRunner示例

用法:

CommandLineJobRunner jobPath <options> jobIdentifier (jobParameters)

要在spring批处理作业上运行,请键入以下命令:

$ java -cp "target/dependency-jars/*:target/your-project.jar" org.springframework.batch.core.launch.support.CommandLineJobRunner spring/batch/jobs/job-read-files.xml readJob

对于jobParameters ,追加到命令末尾:

$ java -cp "target/dependency-jars/*:target/your-project.jar" org.springframework.batch.core.launch.support.CommandLineJobRunner spring/batch/jobs/job-read-files.xml readJob file.name=testing.cvs

要按计划运行它,通常,您可以将上述命令复制到.sh文件中,并使用任何计划程序命令运行它,例如* nix中的cron 。 请参考此示例– 在Linux下将作业添加到cron 。

PS当批处理作业在系统调度程序下运行时,请确保它可以找到您项目的类路径。

下载源代码

下载它– SpringBatch-Run-Example.zip (12 KB)

参考文献

  1. CommandLineJobRunner JavaDoc
  2. 如何使用Maven创建一个jar文件
  3. Spring Batch Hello World –记忆中

翻译自: https://mkyong.com/spring-batch/run-spring-batch-job-with-commandlinejobrunner/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值