diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/EnableBatchProcessing.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/EnableBatchProcessing.java
index 4462cdeeb..da35e10d5 100644
--- a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/EnableBatchProcessing.java
+++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/EnableBatchProcessing.java
@@ -97,7 +97,6 @@ import org.springframework.transaction.PlatformTransactionManager;
*
a {@link JobRepository} (bean name "jobRepository")
* a {@link JobLauncher} (bean name "jobLauncher")
* a {@link JobRegistry} (bean name "jobRegistry")
- * a {@link org.springframework.batch.core.launch.JobOperator} (bean name "jobOperator")
* a {@link org.springframework.batch.core.explore.JobExplorer} (bean name "jobExplorer")
* a {@link PlatformTransactionManager} (bean name "transactionManager")
* a {@link JobBuilderFactory} (bean name "jobBuilders") as a convenience to prevent you from having to inject the
diff --git a/spring-batch-docs/asciidoc/job.adoc b/spring-batch-docs/asciidoc/job.adoc
index 7ce6fe878..489a622da 100644
--- a/spring-batch-docs/asciidoc/job.adoc
+++ b/spring-batch-docs/asciidoc/job.adoc
@@ -6,6 +6,8 @@
== Configuring and Running a Job
+include::toggle.adoc[]
+
In the <> , the overall
architecture design was discussed, using the following diagram as a
guide:
@@ -24,12 +26,93 @@ options and runtime concerns of a `Job`.
=== Configuring a Job
+ifdef::backend-html5[]
+[role="javaContent"]
+There are multiple implementations of the <> interface, however
+builders abstract away the difference in configuration.
+
+[source, java, role="javaContent"]
+----
+@Bean
+public Job footballJob() {
+ return this.jobBuilderFactory.get("footballJob")
+ .start(playerLoad())
+ .next(gameLoad())
+ .next(playerSummarization())
+ .end()
+ .build();
+}
+----
+
+[role="javaContent"]
+A `Job` (and typically any `Step` within it) requires a `JobRepository`. The
+configuration of the `JobRepository` is handled via the <>.
+
+[role="javaContent"]
+The above example illustrates a `Job` that consists of three `Step` instances. The job related
+builders can also contain other elements that help with parallelisation (`Split`),
+declarative flow control (`Decision`) and externalization of flow definitions (`Flow`).
+
+[role="xmlContent"]
There are multiple implementations of the <> interface, however, the namespace
abstracts away the differences in configuration. It has only three
required dependencies: a name, `JobRepository` , and
a list of `Step` s.
+[source, xml, role="xmlContent"]
+----
+
+----
+[role="xmlContent"]
+The examples here use a parent bean definition to create the steps;
+see the section on <>
+for more options declaring specific step details inline. The XML namespace
+defaults to referencing a repository with an id of 'jobRepository', which
+is a sensible default. However, this can be overridden explicitly:
+
+
+[source, xml, role="xmlContent"]
+----
+
+----
+
+[role="xmlContent"]
+In addition to steps a job configuration can contain other elements
+ that help with parallelisation (``),
+ declarative flow control (``) and
+ externalization of flow definitions
+ (``).
+endif::backend-html5[]
+
+ifdef::backend-pdf[]
+There are multiple implementations of the <> interface, however
+this is abstracted behind either the builders provided for java configuration or the XML
+namespace when using XML based configuration.
+
+.Java Configuration
+[source, java]
+----
+@Bean
+public Job footballJob() {
+ return this.jobBuilderFactory.get("footballJob")
+ .start(playerLoad())
+ .next(gameLoad())
+ .next(playerSummarization())
+ .end()
+ .build();
+}
+----
+
+.XML Configuration
[source, xml]
----