diff --git a/src/site/docbook/reference/jsr-352.xml b/src/site/docbook/reference/jsr-352.xml index d8c45d4e4..8349c226f 100644 --- a/src/site/docbook/reference/jsr-352.xml +++ b/src/site/docbook/reference/jsr-352.xml @@ -30,157 +30,177 @@
Setup - JSR-352 requires a very simple path to executing a batch job. The following code is all that is needed to - execute your first batch job: - +
+ Application Contexts + + All JSR-352 based jobs within Spring Batch consist of two application contexts. A parent context, that + contains beans related to the infrastructure of Spring Batch such as the JobRepository, + PlatformTransactionManager, etc and a child context that consists of the configuration + of the job to be run. The parent context is defined via the baseContext.xml provided + by the framework. This context may be overridden via the JSR-352-BASE-CONTEXT system + property. - JobOperator operator = BatchRuntime.getJobOperator(); -jobOperator.start("myJob", new Properties()); + The base context is not processed by the JSR-352 processors for things like property injection so + no components requiring that additional processing should be configured there. + +
+ +
+ Launching a JSR-352 based job + + JSR-352 requires a very simple path to executing a batch job. The following code is all that is needed to + execute your first batch job: + + + JobOperator operator = BatchRuntime.getJobOperator(); + jobOperator.start("myJob", new Properties()); + + While that is convenient for developers, the devil is in the details. Spring Batch bootstraps a bit of + infrastructure behind the scenes that a developer may want to override. The following is bootstrapped the + first time BatchRuntime.getJobOperator() is called: + + + + + + + + + Bean Name + + + Default Configuration + + + Notes + + + + + dataSource + + + Apache DBCP BasicDataSource with configured values. + + + By default, HSQLDB is bootstrapped. + + + + + transactionManager + + + org.springframework.jdbc.datasource.DataSourceTransactionManager + + + References the dataSource bean defined above. + + + + + A Datasource initializer + + + + + This is configured to execute the scripts configured via the + batch.drop.script and batch.schema.script properties. By + default, the schema scripts for HSQLDB are executed. This behavior can be disabled via + batch.data.source.init property. + + + + + jobRepository + + + A JDBC based SimpleJobRepository. + + + This JobRepository uses the previously mentioned data source and transaction + manager. The schema's table prefix is configurable (defaults to BATCH_) via the + batch.table.prefix property. + + + + + jobLauncher + + + org.springframework.batch.core.launch.support.SimpleJobLauncher + + + Used to launch jobs. + + + + + batchJobOperator + + + org.springframework.batch.core.launch.support.SimpleJobOperator + + + The JsrJobOperator wraps this to provide most of it's functionality. + + + + + jobExplorer + + + org.springframework.batch.core.explore.support.JobExplorerFactoryBean + + + Used to address lookup functionality provided by the JsrJobOperator. + + + + + jobParametersConverter + + + org.springframework.batch.core.jsr.JsrJobParametersConverter + + + JSR-352 specific implementation of the JobParametersConverter. + + + + + jobRegistry + + + org.springframework.batch.core.configuration.support.MapJobRegistry + + + Used by the SimpleJobOperator. + + + + + placeholderProperties + + + org.springframework.beans.factory.config.PropertyPlaceholderConfigure + + + Loads the properties file batch-${ENVIRONMENT:hsql}.properties to configure + the properties mentioned above. ENVIRONMENT is a System property (defaults to hsql) + that can be used to specify any of the supported databases Spring Batch currently + supports. + + + + + + + None of the above beans are optional for executing JSR-352 based jobs. All may be overriden to + provide customized functionality as needed. + +
- While that is convenient for developers, the devil is in the details. Spring Batch bootstraps a bit of - infrastructure behind the scenes that a developer may want to override. The following is bootstrapped the - first time BatchRuntime.getJobOperator() is called: - - - - - - - - - Bean Name - - - Default Configuration - - - Notes - - - - - dataSource - - - Apache DBCP BasicDataSource with configured values. - - - By default, HSQLDB is bootstrapped. - - - - - transactionManager - - - org.springframework.jdbc.datasource.DataSourceTransactionManager - - - References the dataSource bean defined above. - - - - - A Datasource initializer - - - - - This is configured to execute the scripts configured via the - batch.drop.script and batch.schema.script properties. By - default, the schema scripts for HSQLDB are executed. This behavior can be disabled via - batch.data.source.init property. - - - - - jobRepository - - - A JDBC based SimpleJobRepository. - - - This JobRepository uses the previously mentioned data source and transaction - manager. The schema's table prefix is configurable (defaults to BATCH_) via the - batch.table.prefix property. - - - - - jobLauncher - - - org.springframework.batch.core.launch.support.SimpleJobLauncher - - - Used to launch jobs. - - - - - batchJobOperator - - - org.springframework.batch.core.launch.support.SimpleJobOperator - - - The JsrJobOperator wraps this to provide most of it's functionality. - - - - - jobExplorer - - - org.springframework.batch.core.explore.support.JobExplorerFactoryBean - - - Used to address lookup functionality provided by the JsrJobOperator. - - - - - jobParametersConverter - - - org.springframework.batch.core.jsr.JsrJobParametersConverter - - - JSR-352 specific implementation of the JobParametersConverter. - - - - - jobRegistry - - - org.springframework.batch.core.configuration.support.MapJobRegistry - - - Used by the SimpleJobOperator. - - - - - placeholderProperties - - - org.springframework.beans.factory.config.PropertyPlaceholderConfigure - - - Loads the properties file batch-${ENVIRONMENT:hsql}.properties to configure - the properties mentioned above. ENVIRONMENT is a System property (defaults to hsql) - that can be used to specify any of the supported databases Spring Batch currently - supports. - - - - - - - None of the above beans are optional for executing JSR-352 based jobs. All may be overriden to - provide customized functionality as needed. -