When you call CommandLineJobRunner from a command line or script, there are three required
parameters and four optional ones, as detailed in Table 6-1.
Table 6-1. CommandLineJobRunner Parameters
Provides the path to the ApplicationContext configuration
containing a job configuration.
Tells Spring Batch to execute the last failed execution for the job
Stops an already running JobExecution
Tells Spring Batch to abandon a previously stopped execution
Increments the required parameter in the sequence configured
by the JobParametersIncrementer of the job specified
Gives the name or id of the job as it's specified in the
ApplicationContext . (used in conjunction with the -stop , -
abandon , and -restart parameters)
Specifies a list of key=value pairs to be passed into the job as
Although you've used CommandLineJobRunner almost exclusively to execute jobs up to now, as you
can see, there is more that this small tool can do for you. The path to your job's XML file, and the -next
and job parameter options, should all be familiar because they have been covered previously.
The build process you've been using with the Project Object Model (POM) included in simple-cli
builds a jar file with CommandLineJobRunner configured as the main class. To use it, you need the jar file in
a directory with a lib folder containing all dependencies. If you look at the <project_home>/target/
directory, you see the jar file that has been built along with the lib directory with the required
dependencies; however, the name may not be the most intuitive (for example, spring-batch-simple-
cli-2.1.3.RELEASE.jar ). To update the build process to build a more appropriate jar name, you can
change the POM file to generate your artifact with the appropriate name. Listing 6-2 shows the POM
update that changes the name of the jar to helloWorld.jar .
Listing 6-2. Renaming the Maven Artifact to helloWorld.jar