Spring Batch-Job mit CommandLineJobRunner ausführen

Führen Sie den Spring-Batch-Job mit CommandLineJobRunner aus

Eine Kurzanleitung, die Ihnen zeigt, wie Sie einen Spring-Batch-Job mitCommandLineJobRunner ausführen.

1. Beispiel für einen Spring Batch Job

Ein einfacher Job.

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



   
      
    
        
    
      
   

    

2. Paketprojekt

Verwenden Sie Maven, um Ihr Projekt in eine einzelne JAR-Datei zu packen -target/your-project.jar, und kopieren Sie alle Abhängigkeiten intarget/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-Beispiel

Verwendung :

CommandLineJobRunner jobPath  jobIdentifier (jobParameters)

Geben Sie den folgenden Befehl ein, um einen übergeordneten Stapeljob auszuführen:

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

Fügen Sie fürjobParameters an das Ende des Befehls an:

$ 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

Um es nach einem Zeitplan auszuführen, können Sie normalerweise die obigen Befehle in eine.sh-Datei kopieren und mit beliebigen Scheduler-Befehlen wiecron in * nix ausführen. Siehe dieses Beispiel -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.

Quellcode herunterladen

Laden Sie es herunter -SpringBatch-Run-Example.zip (12 KB)