From dca766c3178d5d518dc652d4b7f441f4c9bad81f Mon Sep 17 00:00:00 2001 From: Gunnar Hillert Date: Fri, 19 Apr 2013 13:50:25 -0400 Subject: [PATCH] * BATCHADM-160 - Update Spring Batch Integration Documentation - created initial version - use README.md for now as the documentation vehicle - https://jira.springsource.org/browse/BATCHADM-160 * BATCHADM-163 - Add documentation for namespace support - https://jira.springsource.org/browse/BATCHADM-163 --- spring-batch-integration/README.md | 394 ++++++++++++++++++ .../handling-informational-messages.png | Bin 0 -> 24568 bytes .../reference/images/launch-batch-job-svg.svg | 3 + .../src/reference/images/launch-batch-job.png | Bin 0 -> 18720 bytes .../src/reference/images/remote-chunking.png | Bin 0 -> 36320 bytes .../reference/images/remote-partitioning.png | Bin 0 -> 39487 bytes 6 files changed, 397 insertions(+) create mode 100644 spring-batch-integration/README.md create mode 100644 spring-batch-integration/src/reference/images/handling-informational-messages.png create mode 100644 spring-batch-integration/src/reference/images/launch-batch-job-svg.svg create mode 100644 spring-batch-integration/src/reference/images/launch-batch-job.png create mode 100644 spring-batch-integration/src/reference/images/remote-chunking.png create mode 100644 spring-batch-integration/src/reference/images/remote-partitioning.png diff --git a/spring-batch-integration/README.md b/spring-batch-integration/README.md new file mode 100644 index 000000000..37ae1f712 --- /dev/null +++ b/spring-batch-integration/README.md @@ -0,0 +1,394 @@ +Spring Batch Integration +======================== + +Many users of [Spring Batch][] may encounter requirements that are outside the scope of [Spring Batch][], yet may be efficiently and concisely implemented using [Spring Integration][]. Conversely, [Spring Batch][] users may encounter [Spring Batch][] requirements and need a way to efficiently integrate both frameworks. In this context several patterns and use-cases emerge and *Spring Batch Integration* will address those requirements: + +* [Launching Batch Jobs through Messages](#launching-batch-jobs-through-messages) +* [Providing Feedback with Informational Messages](#providing-feedback-with-informational-messages) +* [Externalizing Batch Process Execution](#externalizing-batch-process-execution) + +# Downloading artifacts + +## Using Maven + + + org.springframework.batch + spring-batch-integration + 1.2.2.BUILD-SNAPSHOT + + +## Using Gradle + + compile 'org.springframework.batch:spring-batch-integration:1.2.2.BUILD-SNAPSHOT' + +# Documentation + +## Namespace Support + +As of Spring Batch Integration 1.3, we start providing dedicated XML Namespace support, with the aim to provide an easier configuration experience. In order to activate the namespace, add the following namespace declarations to your Spring XML Application Context file: + +```xml + + ... + +``` +A fully configured Spring XML Application Context file for Spring Batch Integration may look like the following: + +```xml + + ... + +``` + +You can also append version numbers to the referenced XSD file such as: + +```xml +xsi:schemaLocation="... + http://www.springframework.org/schema/batch-integration http://www.springframework.org/schema/batch-integration/spring-batch-integration.xsd"> +``` + +However, as a version-less declaration will always use the latest schema, we generally don't recommend appending the version number to the XSD name. Adding a version number, for instance, would create possibly issues when updating the *Spring Batch Integration* dependencies as they may require more recent versions of the XML schema. + +## Launching Batch Jobs through Messages + +When starting Batch Jobs using the core Spring Batch API you basically have 2 options: + +* Command line via the [CommandLineJobRunner](http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/core/launch/support/CommandLineJobRunner.html) +* Programatically via either *[JobOperator](http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/core/launch/JobOperator.html).start()* or *[JobLauncher](http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/core/launch/JobLauncher.html).run()*. + +> For more information please also see the [Spring Batch][] reference documentation: [Running a Job](http://static.springsource.org/spring-batch/reference/html/configureJob.html#runningAJob) + +For example, you may want to use the *CommandLineJobRunner* when invoking Batch Jobs using a shell script. Alternatively, you may use the *JobOperator* directly, for example when using [Spring Batch][] as part of a web application. However, what about more complex use-cases? Maybe you need to poll a remote (S)FTP server to retrieve the data for the Batch Job. Or your application has to support multiple different data sources simultaneously. For example, you may receive data files not only via the web, but also FTP etc. Maybe additional transformation of the input files is needed before invoking [Spring Batch[]. + +Therefore, it would be much more powerful to execute the batch job using [Spring Integration][] and its numerous adapters. For example, you can use a *File Inbound Channel Adapter* to monitor a directory in the file-system and start the Batch Job as soon as the input file arrives. Additionally you can create [Spring Integration][] flows that use multiple different adapters to easily ingest data for your Batch Jobs from multiple sources simultaneously using configuration only. Implementing all these scenarios with [Spring Integration][] is easy as it allow for an decoupled event-driven execution of the *JobLauncher*. + +*Spring Batch Integration* provides the *[JobLaunchingMessageHandler](http://static.springsource.org/spring-batch-admin/apidocs/org/springframework/batch/integration/launch/JobLaunchingMessageHandler.html)* that you can use to launch batch jobs. The input for the *JobLaunchingMessageHandler* is provided by a [Spring Integration][] message, which payload is of type *[JobLaunchRequest](http://static.springsource.org/spring-batch-admin/apidocs/org/springframework/batch/integration/launch/JobLaunchRequest.html)*. This class is a wrapper around the Job that needs to be launched as well as the [JobParameters](http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/core/JobParameters.html) necessary to launch the Batch job. + +The following image illustrates the typical [Spring Integration][] message flow in order to start a Batch job. + +![Alt text](src/reference/images/launch-batch-job.png "Launch Batch Job") + +### Transforming a file into a JobLaunchRequest + +```java +public class FileMessageToJobRequest { + private Job job; + private String fileParameterName; + + public void setFileParameterName(String fileParameterName) { + this.fileParameterName = fileParameterName; + } + public void setJob(Job job) { + this.job = job; + } + + @Transformer + public JobLaunchRequest toRequest(Message message) { + JobParametersBuilder jobParametersBuilder = new JobParametersBuilder(); + jobParametersBuilder.addString(fileParameterName, message.getPayload().getAbsolutePath()); + return new JobLaunchRequest(job, jobParametersBuilder.toJobParameters()); + } +} +``` + +### The JobExecution Response + +When a Batch Job is being executed, a [JobExecution](http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/core/JobExecution.html) instance is returned. This instance can be used to determine the status of an execution. If a *JobExecution* was able to be created successfully, it will always be returned, regardless of whether or not the actual execution was successful. + +The exact behavior on how the *JobExecution* instance is returned depends on the provided *TaskExecutor*. If a **synchronous** (single-threaded) *TaskExecutor* implementation is used, the *JobExecution* response is only returned *after* the job completes. When using an **asynchronous** *TaskExecutor*, the *JobExecution* instance is returned immediately. Users can then take the *id* of *JobExecution* instance (*JobExecution#getJobId()*) and query the *JobRepository* for the job's updated status using the [JobExplorer](http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/core/explore/JobExplorer.html). For more information, please refer to the *Spring Batch* reference documentation on [Querying the Repository](http://static.springsource.org/spring-batch/reference/html/configureJob.html#queryingRepository). + +For more information regarding the returned *JobExecution* instance, please see: + +* http://static.springsource.org/spring-batch/reference/html/domain.html#domainJobExecution + +### Java Bean Configuration + +```xml + + + + + + + + + + + + + + + + + + +``` + +### XML Namespace Support + +As of *Spring Batch Integration 1.3*, dedicated XML namespace for launching *[Spring Batch][]* jobs is available. This allows you to rewrite the above *Service Activator* with: + +```xml + +``` + +#### Available Attributes of the Job-Launching Gateway + +**id** +Identifies the underlying Spring bean definition, which is an instance of either: + +* [EventDrivenConsumer](http://static.springsource.org/spring-integration/api/org/springframework/integration/endpoint/EventDrivenConsumer.html) or +* [PollingConsumer](http://static.springsource.org/spring-integration/api/org/springframework/integration/endpoint/PollingConsumer.html) + +The exact implementation depends on whether the component's input channel is a + +* [SubscribableChannel](http://static.springsource.org/spring-integration/api/org/springframework/integration/core/SubscribableChannel.html) or +* [PollableChannel](http://static.springsource.org/spring-integration/api/org/springframework/integration/core/PollableChannel.html) + +**auto-startup** +Boolean flag to indicate that the endpoint should start automatically on startup. The default is *true*. + +**request-channel** +The input [MessageChannel](http://static.springsource.org/spring-integration/api/org/springframework/integration/MessageChannel.html) of this endpoint. + +**reply-channel** +*Message Channel* to which the resulting *[JobExecution](http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/core/JobExecution.html)* payload will be sent. + +**reply-timeout** +Allows you to specify how long this gateway will wait for the reply message to be sent successfully to the reply channel before throwing an exception. This attribute only applies when the channel might block, for example when using a bounded queue channel that is currently full. + +Also, keep in mind that when sending to a [DirectChannel](http://static.springsource.org/spring-integration/api/org/springframework/integration/channel/DirectChannel.html), the invocation will occur in the sender's thread. Therefore, the failing of the send operation may be caused by other components further downstream. + +The *reply-timeout* attribute maps to the *sendTimeout* property of the underlying [MessagingTemplate](http://static.springsource.org/spring-integration/api/org/springframework/integration/core/MessagingTemplate.html) instance (org.springframework.integration.core.MessagingTemplate). The attribute will default, if not specified, to *-1*, meaning that by default, the Gateway will wait indefinitely. The value is specified in milliseconds. + +**job-launcher** +Pass in a custom *[JobLauncher](http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/core/launch/JobLauncher.html)* bean reference. This attribute is optional. If not specified the adapter will re-use the instance that is registered under the id *jobLauncher* (E.g. when using the [@EnableBatchProcessing](http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/core/configuration/annotation/EnableBatchProcessing.html) annotation via JavaConfig). If no default instance exists an exception is thrown. + +**order** +Specifies the order for invocation when this endpoint is connected as a subscriber to a [SubscribableChannel](http://static.springsource.org/spring-integration/api/org/springframework/integration/core/SubscribableChannel.html). + +#### Sub-Elements + +When this Gateway is receiving messages from a [PollableChannel](http://static.springsource.org/spring-integration/api/org/springframework/integration/core/PollableChannel.html), you must either provide a global default Poller or provide a Poller sub-element to the +*Job-Launching Gateway*: + +```xml + + + +``` + +## Providing Feedback with Informational Messages + +As [Spring Batch][] jobs can run for long times, providing progress information will be critical. For example, stake-holders may want to be notified if a Batch Job has failed. [Spring Batch][] provides support for this information being gathered through: + +* Active polling or +* Event-driven, using listeners. + +When starting a *Spring Batch* job asynchronously, e.g. by using the *Job-Launching Gateway*, a [JobExecution](http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/core/JobExecution.html) instance is returned. Thus, *JobExecution#getJobId* can be used to continuously poll for status updates by retrieving updated instances of the *JobExecution* from the *JobRepository* using the *JobExplorer*. However, this is considered sub-optimal and an event-driven approach should be preferred. + +Therefore, [Spring Batch][] provides listeners such as: + +* [StepListener](http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/core/StepListener.html) +* [ChunkListener](http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/core/ChunkListener.html) +* [JobExecutionListener](http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/core/JobExecutionListener.html) + +In the following example, a *Spring Batch* job was configured with *JobExecutionListener*. Thus, *Spring Integration* will receive and process any Batch job status changes. For example, the received *JobExecution* can be inspected using a *Router*. Job that are deemed recoverable may cause a restart of a Spring Batch job while a successful job completion may be routed to an Mail Outbound Channel Adapter, so that Email notification are sent out. + +![Alt text](src/reference/images/handling-informational-messages.png "Handling Information Messages") + +Here is a brief example how a listener is configured: + +```xml + + ... + + + + + + +``` + +## Externalizing Batch Process Execution + +The two integration approaches discussed so far suggest use-cases where [Spring Integration][] wraps [Spring Batch][] like an outer-shell. However, [Spring Batch][] can also use [Spring Integration][] internally. Using this approach, [Spring Batch][] users can delegate the processing of items or even chunks to outside processes. This allows you to offload complex processing. *Spring Batch Integration* provides dedicated support for: + +* Remote Chunking +* Remote Partitioning + +### Asynchronous Processors + +Asynchronous Processors help you to to scale the processing of items. In the asynchronous processor use-case, an *ItemProcessor* serves as a dispatcher, executing the *ItemProcessor*'s logic for an item on a new thread. The *Future* is passed to the *AsynchItemWriter* to be written once the processor completes. + +* [AsyncItemWriter](http://static.springsource.org/spring-batch/spring-batch-integration/apidocs/org/springframework/batch/integration/async/AsyncItemWriter.html) +* [AsyncItemProcessor](http://static.springsource.org/spring-batch/spring-batch-integration/apidocs/org/springframework/batch/integration/async/AsyncItemProcessor.html) + +Therefore, you can increase performance by using asynchronous item processing, basically allowing you to implement *fork-join* scenarios. The *AsyncItemWriter* will gather the results and write back the chunk as soon as all the results become available. + +### Remote Chunking + +![Alt text](src/reference/images/remote-chunking.png "Remote Chunking") + +Taking things one step further, one can also externalize the chunk processing using the *[ChunkMessageChannelItemWriter](http://static.springsource.org/spring-batch/spring-batch-integration/apidocs/org/springframework/batch/integration/chunk/ChunkMessageChannelItemWriter.html)* which is provided by *Spring Batch Integration*. That way you can send an entire chunk to a Gateway, reducing *Spring Batch*'s responsibilities to read items, group them and send out the chunk. Once sent, *Spring Batch* will continue the process of reading and grouping items, without waiting for the results. Rather it is the responsibility of the *ChunkMessageChannelItemWriter* to gather the results and integrate them back into the [Spring Batch][] process. + +Using *Spring Integration* you have full control over the concurrency of your processes, for instance by using *QueueChannel*s instead of *DirectChannels*. Furthermore, by relying on *Spring Integration*'s rich collection of Channel Adapters (E.g. JMS or AMQP), you can distribute chunks of a Batch job to external systems for processing. + +For more information, please also consult the *Spring Batch* manual, specifically the chapter on [Remote Chunking](http://static.springsource.org/spring-batch/reference/html/scalability.html#remoteChunking). + +### Remote Partitioning + +![Alt text](src/reference/images/remote-partitioning.png "Remote Chunking") + +Remote Partitioning, on the other hand, is useful when the problem is not the processing of items, but the associated I/O represents the bottleneck. Using Remote Partitioning, work can be farmed out to slaves that execute complete [Spring Batch][] steps. Thus, each slave has its own *reader*, *processor* and *writer*. For this purpose, *Spring Batch Integration* provides the [MessageChannelPartitionHandler](http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/integration/partition/MessageChannelPartitionHandler.html). + +This implementation of the [PartitionHandler](http://static.springsource.org/spring-batch/apidocs/org/springframework/batch/core/partition/PartitionHandler.html) interface uses *MessageChannel* instances to send instructions to remote workers and receive their responses. This provides a nice abstraction from the transports (E.g. JMS or AMQP) being used to communicate with the remote workers. + +For more information, please see: + +* http://static.springsource.org/spring-batch/reference/html/scalability.html#partitioning + +# Resources + +## Further Reading + +### Books + +The book [Spring Integration in Action][] by Mark Fisher, Jonas Partner, Marius Bogoevici and Iwein Fuld provides a dedicated on how to use [Spring Integration][] and [Spring Batch][] together. + +[Pro Spring Integration][] by Dr. Mark Lui, Mario Gray, Andy Chan and Josh Long has a chapter titled *Spring Integration and Spring Batch*. + +[Pro Spring Batch][] by Michael Minella, provides detailed information on *Spring Batch Integration* in Chapter 11, *Scaling and Tuning*. + +### Presentations + +* Introduction to Spring Integration and Spring Batch (Video) + - http://www.infoq.com/presentations/Spring-Integration-Batch +* Introduction to Spring Integration and Spring Batch (Slides) + - http://www.slideshare.net/hillert/introduction-to-spring-integration-and-spring-batch +* Heavy Lifting in the Cloud with Spring Batch + - https://github.com/mminella/Spring-Batch-Talk-2.0 - Slides and code + - http://www.youtube.com/watch?v=CYTj5YT7CZU - Video +* Deploying and Monitoring Spring Integration and Spring Batch Applications + - http://www.slideshare.net/DaveSyer/syer-monitoring-integration-and-batch + +### Articles + +* Spring Batch integration module for GridGain + - http://aloiscochard.blogspot.com/2010/04/spring-batch-integration-module-for.html + +## Related GitHub projects + +### Spring Batch + +* [Spring Batch][] +* [Spring Batch Admin][] + +### Spring Integration + +* [Spring Integration][] +* [Spring Integration Samples][] +* [Spring Integration Templates][] +* [Spring Integration Dsl Groovy][] +* [Spring Integration Dsl Scala][] +* [Spring Integration Pattern Catalog][] + +### Spring XD + +* [Spring XD][] + +### Spring for Apache Hadoop + +* [Spring for Apache Hadoop][] + +## Getting support + +Check out the [Spring forums][] and the [spring-integration][spring-integration tag] and [spring-batch][spring-batch tag] tags on [Stack Overflow][]. [Commercial support][] is available too. + +## Issue Tracking + +Report issues via the [Spring Batch Admin JIRA][]. + +## Building from source + +*Spring Batch Integration* is built using [Maven][]. + +### Check out sources + + git clone git://github.com/SpringSource/spring-batch-admin.git + +### Go to the Spring Batch Integration project + + $ cd spring-batch-admin/spring-batch-integration + +### Compile and test, build all jars + + $ mvn clean package + +### Install project into your local Maven cache + + $ mvn install + +## Contributing + +[Pull requests][] are welcome. Please see the [contributor guidelines][] for details. Additionally, if you are contributing, we recommend following the process for Spring Integration as outlined in the [administrator guidelines][]. + +## Contributors + +* [@david_syer](https://twitter.com/david\_syer) - Dave Syer +* [@michaelminella](https://twitter.com/michaelminella) - Michael Minella +* [@ghillert](https://twitter.com/ghillert) - Gunnar Hillert + +## License + +The Spring Integration Extensions Framework is released under version 2.0 of the [Apache License][] unless noted differently for individual extension Modules, but this should be the rare exception. + +[administrator guidelines]: https://github.com/SpringSource/spring-integration/wiki/Administrator-Guidelines +[Apache License]: http://www.apache.org/licenses/LICENSE-2.0 +[Pull requests]: http://help.github.com/send-pull-requests +[Spring Batch]: http://www.springsource.org/spring-batch/ +[Spring Integration]: http://www.springsource.org/spring-integration/ +[contributor guidelines]: https://github.com/SpringSource/spring-integration/wiki/Contributor-guidelines + +[Maven]: http://maven.apache.org +[Spring Batch Admin JIRA]: https://jira.springsource.org/browse/BATCHADM + +[Spring Batch]: https://github.com/SpringSource/spring-batch +[Spring Batch Admin]: https://github.com/SpringSource/spring-batch-admin + +[Spring Integration Samples]: https://github.com/SpringSource/spring-integration-samples +[Spring Integration Templates]: https://github.com/SpringSource/spring-integration-templates/tree/master/si-sts-templates +[Spring Integration Dsl Groovy]: https://github.com/SpringSource/spring-integration-dsl-groovy +[Spring Integration Dsl Scala]: https://github.com/SpringSource/spring-integration-dsl-scala +[Spring Integration Pattern Catalog]: https://github.com/SpringSource/spring-integration-pattern-catalog + +[Spring XD]: https://github.com/SpringSource/spring-xd +[Spring for Apache Hadoop]: https://github.com/SpringSource/spring-hadoop + +[Spring Integration in Action]: http://www.manning.com/fisher/ +[Pro Spring Integration]: http://www.apress.com/9781430233459 +[Pro Spring Batch]: http://www.apress.com/9781430234524 + +[Spring forums]: http://forum.springsource.org +[spring-integration tag]: http://stackoverflow.com/questions/tagged/spring-integration +[spring-batch tag]: http://stackoverflow.com/questions/tagged/spring-batch + +[Stack Overflow]: http://stackoverflow.com/faq +[Commercial support]: http://springsource.com/support/springsupport diff --git a/spring-batch-integration/src/reference/images/handling-informational-messages.png b/spring-batch-integration/src/reference/images/handling-informational-messages.png new file mode 100644 index 0000000000000000000000000000000000000000..8bb7697291a0c44ccc9f622a0e6ccbfb17e2b433 GIT binary patch literal 24568 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 Vvs!GqOayQK2U-T2<#%jf{~tOc^(+7Y literal 0 HcmV?d00001 diff --git a/spring-batch-integration/src/reference/images/launch-batch-job-svg.svg b/spring-batch-integration/src/reference/images/launch-batch-job-svg.svg new file mode 100644 index 000000000..77488a4a4 --- /dev/null +++ b/spring-batch-integration/src/reference/images/launch-batch-job-svg.svg @@ -0,0 +1,3 @@ + + +2012-10-16 03:37ZCanvas 1Layer 1DCFTPInbound Channel AdapterJobLauncherTransformerFileJobLaunchRequest diff --git a/spring-batch-integration/src/reference/images/launch-batch-job.png b/spring-batch-integration/src/reference/images/launch-batch-job.png new file mode 100644 index 0000000000000000000000000000000000000000..006eb60911e8a833c34c9c2c499b021e4e2eb3ce GIT binary patch literal 18720 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 literal 0 HcmV?d00001 diff --git a/spring-batch-integration/src/reference/images/remote-partitioning.png b/spring-batch-integration/src/reference/images/remote-partitioning.png new file mode 100644 index 0000000000000000000000000000000000000000..f675b15255e529aec1a9db455ffd4ab6e13a2779 GIT binary patch literal 39487 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∾Vl>VWe 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