Запустить пакетное задание Spring с CommandLineJobRunner

Выполнить пакетное задание 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 jobPath  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 и запустить его с любыми командами планировщика, такими как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 КБ)