Java EE 7 SDK |
This sample demonstrates how to use the javax.batch.operations.JobOperator
interface to submit batch jobs.
This sample application demonstrates how to use the Batch Processing API (JSR 352)
to submit batch jobs and how to obtain information about submitted jobs using the
JobOperator
interface.
SimpleItemReader
is an ItemReader
implementation that reads input records. The
batch runtime calls the ItemReader.readItem()
method to read input records. ItemReader
implementations can
read input records from a variety of sources like databases, text files, other
Java EE components, etc. The batch runtime hands each record read in an ItemReader
to an ItemProcessor
.
In this sample, SimpleItemReader
reads PayrollInputRecord
objects from a singleton bean.
SimpleItemProcessor
is an ItemProcessor
implementation that processes an input
record and returns an output record. The batch runtime calls
the ItemProcessor.processItem()
method to process the records from the ItemReader
.
In this sample, SimpleItemProcessor
receives PayrollInputRecord
objects from the batch runtime,
computes the net pay, and returns a PayrollRecord
to the batch runtime. The batch
runtime then uses an ItemWriter
to store the results.
SimpleItemWriter
is an ItemWriter
implementation that writes the output record
to some data storage resource such as a database, a text file, or another
Java EE component. The batch runtime calls the ItemWriter.writeItems()
method
to write the records processed by the ItemWriter
.
In this sample, SimpleItemWriter
stores the processed PayrollRecord
objects in
a singleton bean.
The sample uses the embedded JavaDB database service included with the Glassfish server.
The sample is built and deployed as a WAR file.
This sample application demonstrates the following key features:
JobOperator.start()
method to submit a batch job. This method returns the execution id for the job execution.JobOperator.getJobInstances()
method to obtain a list of all the JobInstances
for the payroll
job.jobOperator.getJobExecutions(jobInstance)
method to get a list of JobExecution
objects.JobExecution
objects:JobExecution.getJobName()
method to get the job name.JobExecution.getBatchStatus()
method to get the batch status of the job execution.JobExecution.getExitStatus()
method to get the exit status of the job execution.JobExecution.getStartTime()
method to obtain the time when the job execution started.JobExecution.getEndTime()
method to obtain the time when the job execution completed.Perform the following steps to build, deploy, and run the application:
samples_install_dir
is the sample application base directory. Go to: samples_install_dir/javaee7/batch/joboperator-api
.
mvn package
command from a command line terminal.asadmin deploy --force target/joboperator-api.war
command from a command line terminal.http://localhost:8080/joboperator-api/PayrollJobSubmitterServlet
mvn clean
command from a command line terminal to clean up the target directory.asadmin undeploy joboperator-api
command from a command line terminal.If you have problems when running the application, refer to the troubleshooting document.
Copyright © 1997-2013 Oracle and/or its affiliates. All rights reserved.