CommandLineJobRunnerでSpringバッチジョブを実行する
`CommandLineJobRunner`でSpringバッチジョブを実行する方法を説明する簡単なガイドです。
1.バッチバッチジョブの例
簡単な仕事。
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)
上記のスプリングバッチジョブを実行するには、次のコマンドを入力します。
$ 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にジョブを追加する
。
__P.Sバッチジョブがシステムスケジューラで実行されている場合は、プロジェクトのクラスパスを見つけることができることを確認してください。
ソースコードをダウンロードする
ダウンロードする –
SpringBatch-Run-Example.zip
(12 KB)
参考文献
JavaDoc]。 link://maven/how-to-create-a-jar-file-with-maven/[Jarを作成する方法
Mavenを持つファイル]。
http://www.techavalanche.com/2011/08/21/spring-batch-hello-world-in-memory/
[Spring
バッチ・ハロー・ワールド – イン・メモリ]