Выполнить пакетное задание Spring с CommandLineJobRunner
Краткое руководство, которое покажет вам, как запустить пакетное задание Spring сCommandLineJobRunner
.
1. Пример Spring Batch Job
Простая работа.
resources/spring/batch/jobs/job-read-files.xml
2. Пакетный проект
Используйте Maven, чтобы упаковать ваш проект в один файл jar -target/your-project.jar и скопировать все зависимости вtarget/dependency-jars/.
pom.xml
org.apache.maven.plugins maven-dependency-plugin 2.5.1 copy-dependencies package copy-dependencies ${project.build.directory}/dependency-jars/
$ mvn package
3. Пример CommandLineJobRunner
Использование :
CommandLineJobRunner jobPathjobIdentifier (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
и запустить его с любыми командами планировщика, такими какcron
в * nix. Обратитесь к этому примеру -Add Jobs To cron Under Linux.
P.S When batch job is running under system scheduler, make sure it can locate your project’s classpath.
Скачать исходный код
Скачать -SpringBatch-Run-Example.zip (12 КБ)