Files
spring-batch/build/reference/html/index.html
Michael Minella 75ab909314 update
2017-03-23 10:18:33 -05:00

68 lines
32 KiB
HTML

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Spring Batch - Reference Documentation</title><link rel="stylesheet" type="text/css" href="css/manual-multipage.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Spring Batch - Reference Documentation"><link rel="next" href="spring-batch-intro.html" title="1.&nbsp;Spring Batch Introduction"></head><body class="firstpage" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Spring Batch - Reference Documentation</th></tr><tr><td width="20%" align="left">&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="spring-batch-intro.html">Next</a></td></tr></table><hr></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a name="spring-batch-reference"></a>Spring Batch - Reference Documentation</h1></div><div><div class="authorgroup"><h2>Authors</h2>
<span class="author"><span class="firstname">Lucas</span> <span class="surname">Ward</span></span>
, <span class="author"><span class="firstname">Dave</span> <span class="surname">Syer</span></span>
, <span class="author"><span class="firstname">Thomas</span> <span class="surname">Risberg</span></span>
, <span class="author"><span class="firstname">Robert</span> <span class="surname">Kasanicky</span></span>
, <span class="author"><span class="firstname">Dan</span> <span class="surname">Garrette</span></span>
, <span class="author"><span class="firstname">Wayne</span> <span class="surname">Lund</span></span>
, <span class="author"><span class="firstname">Michael</span> <span class="surname">Minella</span></span>
, <span class="author"><span class="firstname">Chris</span> <span class="surname">Schaefer</span></span>
, <span class="author"><span class="firstname">Gunnar</span> <span class="surname">Hillert</span></span>
</div></div><div><p class="releaseinfo">4.0.0.BUILD-SNAPSHOT</p></div><div><p class="copyright">Copyright &copy; 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017
Pivotal, Inc. All Rights Reserved.
</p></div><div><div class="legalnotice"><a name="d5e45" href="#d5e45"></a>
<p>Copies of this document may be made for your own use and for
distribution to others, provided that you do not charge any fee for such
copies and further provided that each copy contains this Copyright
Notice, whether distributed in print or electronically.</p>
</div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="chapter"><a href="spring-batch-intro.html">1. Spring Batch Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="spring-batch-intro.html#springBatchBackground">1.1. Background</a></span></dt><dt><span class="section"><a href="spring-batch-intro.html#springBatchUsageScenarios">1.2. Usage Scenarios</a></span></dt><dt><span class="section"><a href="spring-batch-intro.html#springBatchArchitecture">1.3. Spring Batch Architecture</a></span></dt><dt><span class="section"><a href="spring-batch-intro.html#batchArchitectureConsiderations">1.4. General Batch Principles and Guidelines</a></span></dt><dt><span class="section"><a href="spring-batch-intro.html#batchProcessingStrategy">1.5. Batch Processing Strategies</a></span></dt></dl></dd><dt><span class="chapter"><a href="whatsNew.html">2. What's New in Spring Batch 4.0</a></span></dt><dd><dl><dt><span class="section"><a href="whatsNew.html#whatsNewJava">2.1. Java 8 Requirement</a></span></dt><dt><span class="section"><a href="whatsNew.html#whatsNewDependencies">2.2. Dependencies re-baseline</a></span></dt><dt><span class="section"><a href="whatsNew.html#whatsNewBuilders">2.3. Provide builders for the ItemReaders and ItemWriters</a></span></dt></dl></dd><dt><span class="chapter"><a href="domain.html">3. The Domain Language of Batch</a></span></dt><dd><dl><dt><span class="section"><a href="domain.html#domainJob">3.1. Job</a></span></dt><dd><dl><dt><span class="section"><a href="domain.html#domainJobInstance">3.1.1. JobInstance</a></span></dt><dt><span class="section"><a href="domain.html#domainJobParameters">3.1.2. JobParameters</a></span></dt><dt><span class="section"><a href="domain.html#domainJobExecution">3.1.3. JobExecution</a></span></dt></dl></dd><dt><span class="section"><a href="domain.html#domainStep">3.2. Step</a></span></dt><dd><dl><dt><span class="section"><a href="domain.html#domainStepExecution">3.2.1. StepExecution</a></span></dt></dl></dd><dt><span class="section"><a href="domain.html#domainExecutionContext">3.3. ExecutionContext</a></span></dt><dt><span class="section"><a href="domain.html#domainJobRepository">3.4. JobRepository</a></span></dt><dt><span class="section"><a href="domain.html#domainJobLauncher">3.5. JobLauncher</a></span></dt><dt><span class="section"><a href="domain.html#domainItemReader">3.6. Item Reader</a></span></dt><dt><span class="section"><a href="domain.html#domainItemWriter">3.7. Item Writer</a></span></dt><dt><span class="section"><a href="domain.html#domainItemProcessor">3.8. Item Processor</a></span></dt><dt><span class="section"><a href="domain.html#domainBatchNamespace">3.9. Batch Namespace</a></span></dt></dl></dd><dt><span class="chapter"><a href="configureJob.html">4. Configuring and Running a Job</a></span></dt><dd><dl><dt><span class="section"><a href="configureJob.html#configuringAJob">4.1. Configuring a Job</a></span></dt><dd><dl><dt><span class="section"><a href="configureJob.html#restartability">4.1.1. Restartability</a></span></dt><dt><span class="section"><a href="configureJob.html#interceptingJobExecution">4.1.2. Intercepting Job Execution</a></span></dt><dt><span class="section"><a href="configureJob.html#inheritingFromAParentJob">4.1.3. Inheriting from a Parent Job</a></span></dt><dt><span class="section"><a href="configureJob.html#d5e953">4.1.4. JobParametersValidator</a></span></dt></dl></dd><dt><span class="section"><a href="configureJob.html#javaConfig">4.2. Java Config</a></span></dt><dt><span class="section"><a href="configureJob.html#configuringJobRepository">4.3. Configuring a JobRepository</a></span></dt><dd><dl><dt><span class="section"><a href="configureJob.html#txConfigForJobRepository">4.3.1. Transaction Configuration for the JobRepository</a></span></dt><dt><span class="section"><a href="configureJob.html#repositoryTablePrefix">4.3.2. Changing the Table Prefix</a></span></dt><dt><span class="section"><a href="configureJob.html#inMemoryRepository">4.3.3. In-Memory Repository</a></span></dt><dt><span class="section"><a href="configureJob.html#nonStandardDatabaseTypesInRepository">4.3.4. Non-standard Database Types in a Repository</a></span></dt></dl></dd><dt><span class="section"><a href="configureJob.html#configuringJobLauncher">4.4. Configuring a JobLauncher</a></span></dt><dt><span class="section"><a href="configureJob.html#runningAJob">4.5. Running a Job</a></span></dt><dd><dl><dt><span class="section"><a href="configureJob.html#runningJobsFromCommandLine">4.5.1. Running Jobs from the Command Line</a></span></dt><dd><dl><dt><span class="section"><a href="configureJob.html#commandLineJobRunner">The CommandLineJobRunner</a></span></dt><dt><span class="section"><a href="configureJob.html#exitCodes">ExitCodes</a></span></dt></dl></dd><dt><span class="section"><a href="configureJob.html#runningJobsFromWebContainer">4.5.2. Running Jobs from within a Web Container</a></span></dt></dl></dd><dt><span class="section"><a href="configureJob.html#advancedMetaData">4.6. Advanced Meta-Data Usage</a></span></dt><dd><dl><dt><span class="section"><a href="configureJob.html#queryingRepository">4.6.1. Querying the Repository</a></span></dt><dt><span class="section"><a href="configureJob.html#d5e1215">4.6.2. JobRegistry</a></span></dt><dd><dl><dt><span class="section"><a href="configureJob.html#d5e1220">JobRegistryBeanPostProcessor</a></span></dt><dt><span class="section"><a href="configureJob.html#d5e1225">AutomaticJobRegistrar</a></span></dt></dl></dd><dt><span class="section"><a href="configureJob.html#JobOperator">4.6.3. JobOperator</a></span></dt><dt><span class="section"><a href="configureJob.html#JobParametersIncrementer">4.6.4. JobParametersIncrementer</a></span></dt><dt><span class="section"><a href="configureJob.html#stoppingAJob">4.6.5. Stopping a Job</a></span></dt><dt><span class="section"><a href="configureJob.html#d5e1303">4.6.6. Aborting a Job</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="configureStep.html">5. Configuring a Step</a></span></dt><dd><dl><dt><span class="section"><a href="configureStep.html#chunkOrientedProcessing">5.1. Chunk-Oriented Processing</a></span></dt><dd><dl><dt><span class="section"><a href="configureStep.html#configuringAStep">5.1.1. Configuring a Step</a></span></dt><dt><span class="section"><a href="configureStep.html#InheritingFromParentStep">5.1.2. Inheriting from a Parent Step</a></span></dt><dd><dl><dt><span class="section"><a href="configureStep.html#abstractStep">Abstract Step</a></span></dt><dt><span class="section"><a href="configureStep.html#mergingListsOnStep">Merging Lists</a></span></dt></dl></dd><dt><span class="section"><a href="configureStep.html#commitInterval">5.1.3. The Commit Interval</a></span></dt><dt><span class="section"><a href="configureStep.html#stepRestart">5.1.4. Configuring a Step for Restart</a></span></dt><dd><dl><dt><span class="section"><a href="configureStep.html#startLimit">Setting a StartLimit</a></span></dt><dt><span class="section"><a href="configureStep.html#allowStartIfComplete">Restarting a completed step</a></span></dt><dt><span class="section"><a href="configureStep.html#stepRestartExample">Step Restart Configuration Example</a></span></dt></dl></dd><dt><span class="section"><a href="configureStep.html#configuringSkip">5.1.5. Configuring Skip Logic</a></span></dt><dt><span class="section"><a href="configureStep.html#retryLogic">5.1.6. Configuring Retry Logic</a></span></dt><dt><span class="section"><a href="configureStep.html#controllingRollback">5.1.7. Controlling Rollback</a></span></dt><dd><dl><dt><span class="section"><a href="configureStep.html#transactionalReaders">Transactional Readers</a></span></dt></dl></dd><dt><span class="section"><a href="configureStep.html#transactionAttributes">5.1.8. Transaction Attributes</a></span></dt><dt><span class="section"><a href="configureStep.html#registeringItemStreams">5.1.9. Registering ItemStreams with the Step</a></span></dt><dt><span class="section"><a href="configureStep.html#interceptingStepExecution">5.1.10. Intercepting Step Execution</a></span></dt><dd><dl><dt><span class="section"><a href="configureStep.html#stepExecutionListener">StepExecutionListener</a></span></dt><dt><span class="section"><a href="configureStep.html#chunkListener">ChunkListener</a></span></dt><dt><span class="section"><a href="configureStep.html#itemReadListener">ItemReadListener</a></span></dt><dt><span class="section"><a href="configureStep.html#itemProcessListener">ItemProcessListener</a></span></dt><dt><span class="section"><a href="configureStep.html#itemWriteListener">ItemWriteListener</a></span></dt><dt><span class="section"><a href="configureStep.html#skipListener">SkipListener</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="configureStep.html#taskletStep">5.2. TaskletStep</a></span></dt><dd><dl><dt><span class="section"><a href="configureStep.html#taskletAdapter">5.2.1. TaskletAdapter</a></span></dt><dt><span class="section"><a href="configureStep.html#exampleTaskletImplementation">5.2.2. Example Tasklet Implementation</a></span></dt></dl></dd><dt><span class="section"><a href="configureStep.html#controllingStepFlow">5.3. Controlling Step Flow</a></span></dt><dd><dl><dt><span class="section"><a href="configureStep.html#SequentialFlow">5.3.1. Sequential Flow</a></span></dt><dt><span class="section"><a href="configureStep.html#conditionalFlow">5.3.2. Conditional Flow</a></span></dt><dd><dl><dt><span class="section"><a href="configureStep.html#batchStatusVsExitStatus">Batch Status vs. Exit Status</a></span></dt></dl></dd><dt><span class="section"><a href="configureStep.html#configuringForStop">5.3.3. Configuring for Stop</a></span></dt><dd><dl><dt><span class="section"><a href="configureStep.html#endElement">The 'End' Element</a></span></dt><dt><span class="section"><a href="configureStep.html#failElement">The 'Fail' Element</a></span></dt><dt><span class="section"><a href="configureStep.html#stopElement">The 'Stop' Element</a></span></dt></dl></dd><dt><span class="section"><a href="configureStep.html#programmaticFlowDecisions">5.3.4. Programmatic Flow Decisions</a></span></dt><dt><span class="section"><a href="configureStep.html#split-flows">5.3.5. Split Flows</a></span></dt><dt><span class="section"><a href="configureStep.html#external-flows">5.3.6. Externalizing Flow Definitions and Dependencies Between
Jobs</a></span></dt></dl></dd><dt><span class="section"><a href="configureStep.html#late-binding">5.4. Late Binding of Job and Step Attributes</a></span></dt><dd><dl><dt><span class="section"><a href="configureStep.html#step-scope">5.4.1. Step Scope</a></span></dt><dt><span class="section"><a href="configureStep.html#job-scope">5.4.2. Job Scope</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="readersAndWriters.html">6. ItemReaders and ItemWriters</a></span></dt><dd><dl><dt><span class="section"><a href="readersAndWriters.html#itemReader">6.1. ItemReader</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#itemWriter">6.2. ItemWriter</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#itemProcessor">6.3. ItemProcessor</a></span></dt><dd><dl><dt><span class="section"><a href="readersAndWriters.html#chainingItemProcessors">6.3.1. Chaining ItemProcessors</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#filiteringRecords">6.3.2. Filtering Records</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#faultTolerant">6.3.3. Fault Tolerance</a></span></dt></dl></dd><dt><span class="section"><a href="readersAndWriters.html#itemStream">6.4. ItemStream</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#delegatePatternAndRegistering">6.5. The Delegate Pattern and Registering with the Step</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#flatFiles">6.6. Flat Files</a></span></dt><dd><dl><dt><span class="section"><a href="readersAndWriters.html#fieldSet">6.6.1. The FieldSet</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#flatFileItemReader">6.6.2. FlatFileItemReader</a></span></dt><dd><dl><dt><span class="section"><a href="readersAndWriters.html#lineMapper">LineMapper</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#lineTokenizer">LineTokenizer</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#fieldSetMapper">FieldSetMapper</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#defaultLineMapper">DefaultLineMapper</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#simpleDelimitedFileReadingExample">Simple Delimited File Reading Example</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#mappingFieldsByName">Mapping Fields by Name</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#beanWrapperFieldSetMapper">Automapping FieldSets to Domain Objects</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#fixedLengthFileFormats">Fixed Length File Formats</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#prefixMatchingLineMapper">Multiple Record Types within a Single File</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#exceptionHandlingInFlatFiles">Exception Handling in Flat Files</a></span></dt></dl></dd><dt><span class="section"><a href="readersAndWriters.html#flatFileItemWriter">6.6.3. FlatFileItemWriter</a></span></dt><dd><dl><dt><span class="section"><a href="readersAndWriters.html#lineAggregator">LineAggregator</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#SimplifiedFileWritingExample">Simplified File Writing Example</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#FieldExtractor">FieldExtractor</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#delimitedFileWritingExample">Delimited File Writing Example</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#fixedWidthFileWritingExample">Fixed Width File Writing Example</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#handlingFileCreation">Handling File Creation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="readersAndWriters.html#xmlReadingWriting">6.7. XML Item Readers and Writers</a></span></dt><dd><dl><dt><span class="section"><a href="readersAndWriters.html#StaxEventItemReader">6.7.1. StaxEventItemReader</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#StaxEventItemWriter">6.7.2. StaxEventItemWriter</a></span></dt></dl></dd><dt><span class="section"><a href="readersAndWriters.html#multiFileInput">6.8. Multi-File Input</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#database">6.9. Database</a></span></dt><dd><dl><dt><span class="section"><a href="readersAndWriters.html#cursorBasedItemReaders">6.9.1. Cursor Based ItemReaders</a></span></dt><dd><dl><dt><span class="section"><a href="readersAndWriters.html#JdbcCursorItemReader">JdbcCursorItemReader</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#HibernateCursorItemReader">HibernateCursorItemReader</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#StoredProcedureItemReader">StoredProcedureItemReader</a></span></dt></dl></dd><dt><span class="section"><a href="readersAndWriters.html#pagingItemReaders">6.9.2. Paging ItemReaders</a></span></dt><dd><dl><dt><span class="section"><a href="readersAndWriters.html#JdbcPagingItemReader">JdbcPagingItemReader</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#JpaPagingItemReader">JpaPagingItemReader</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#IbatisPagingItemReader">IbatisPagingItemReader</a></span></dt></dl></dd><dt><span class="section"><a href="readersAndWriters.html#databaseItemWriters">6.9.3. Database ItemWriters</a></span></dt></dl></dd><dt><span class="section"><a href="readersAndWriters.html#reusingExistingServices">6.10. Reusing Existing Services</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#validatingInput">6.11. Validating Input</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#process-indicator">6.12. Preventing State Persistence</a></span></dt><dt><span class="section"><a href="readersAndWriters.html#customReadersWriters">6.13. Creating Custom ItemReaders and
ItemWriters</a></span></dt><dd><dl><dt><span class="section"><a href="readersAndWriters.html#customReader">6.13.1. Custom ItemReader Example</a></span></dt><dd><dl><dt><span class="section"><a href="readersAndWriters.html#restartableReader">Making the <code class="classname">ItemReader</code>
Restartable</a></span></dt></dl></dd><dt><span class="section"><a href="readersAndWriters.html#customWriter">6.13.2. Custom ItemWriter Example</a></span></dt><dd><dl><dt><span class="section"><a href="readersAndWriters.html#restartableWriter">Making the <code class="classname">ItemWriter</code>
Restartable</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="chapter"><a href="scalability.html">7. Scaling and Parallel Processing</a></span></dt><dd><dl><dt><span class="section"><a href="scalability.html#multithreadedStep">7.1. Multi-threaded Step</a></span></dt><dt><span class="section"><a href="scalability.html#scalabilityParallelSteps">7.2. Parallel Steps</a></span></dt><dt><span class="section"><a href="scalability.html#remoteChunking">7.3. Remote Chunking</a></span></dt><dt><span class="section"><a href="scalability.html#partitioning">7.4. Partitioning</a></span></dt><dd><dl><dt><span class="section"><a href="scalability.html#partitionHandler">7.4.1. PartitionHandler</a></span></dt><dt><span class="section"><a href="scalability.html#stepExecutionSplitter">7.4.2. Partitioner</a></span></dt><dt><span class="section"><a href="scalability.html#bindingInputDataToSteps">7.4.3. Binding Input Data to Steps</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="repeat.html">8. Repeat</a></span></dt><dd><dl><dt><span class="section"><a href="repeat.html#repeatTemplate">8.1. RepeatTemplate</a></span></dt><dd><dl><dt><span class="section"><a href="repeat.html#repeatContext">8.1.1. RepeatContext</a></span></dt><dt><span class="section"><a href="repeat.html#repeatStatus">8.1.2. RepeatStatus</a></span></dt></dl></dd><dt><span class="section"><a href="repeat.html#completionPolicies">8.2. Completion Policies</a></span></dt><dt><span class="section"><a href="repeat.html#repeatExceptionHandling">8.3. Exception Handling</a></span></dt><dt><span class="section"><a href="repeat.html#repeatListeners">8.4. Listeners</a></span></dt><dt><span class="section"><a href="repeat.html#repeatParallelProcessing">8.5. Parallel Processing</a></span></dt><dt><span class="section"><a href="repeat.html#declarativeIteration">8.6. Declarative Iteration</a></span></dt></dl></dd><dt><span class="chapter"><a href="retry.html">9. Retry</a></span></dt><dd><dl><dt><span class="section"><a href="retry.html#retryTemplate">9.1. RetryTemplate</a></span></dt><dd><dl><dt><span class="section"><a href="retry.html#retryContext">9.1.1. RetryContext</a></span></dt><dt><span class="section"><a href="retry.html#recoveryCallback">9.1.2. RecoveryCallback</a></span></dt><dt><span class="section"><a href="retry.html#statelessRetry">9.1.3. Stateless Retry</a></span></dt><dt><span class="section"><a href="retry.html#statefulRetry">9.1.4. Stateful Retry</a></span></dt></dl></dd><dt><span class="section"><a href="retry.html#retryPolicies">9.2. Retry Policies</a></span></dt><dt><span class="section"><a href="retry.html#backoffPolicies">9.3. Backoff Policies</a></span></dt><dt><span class="section"><a href="retry.html#retryListeners">9.4. Listeners</a></span></dt><dt><span class="section"><a href="retry.html#declarativeRetry">9.5. Declarative Retry</a></span></dt></dl></dd><dt><span class="chapter"><a href="testing.html">10. Unit Testing</a></span></dt><dd><dl><dt><span class="section"><a href="testing.html#creatingUnitTestClass">10.1. Creating a Unit Test Class</a></span></dt><dt><span class="section"><a href="testing.html#endToEndTesting">10.2. End-To-End Testing of Batch Jobs</a></span></dt><dt><span class="section"><a href="testing.html#testingIndividualSteps">10.3. Testing Individual Steps</a></span></dt><dt><span class="section"><a href="testing.html#d5e3514">10.4. Testing Step-Scoped Components</a></span></dt><dt><span class="section"><a href="testing.html#validatingOutputFiles">10.5. Validating Output Files</a></span></dt><dt><span class="section"><a href="testing.html#mockingDomainObjects">10.6. Mocking Domain Objects</a></span></dt></dl></dd><dt><span class="chapter"><a href="patterns.html">11. Common Batch Patterns</a></span></dt><dd><dl><dt><span class="section"><a href="patterns.html#loggingItemProcessingAndFailures">11.1. Logging Item Processing and Failures</a></span></dt><dt><span class="section"><a href="patterns.html#stoppingAJobManuallyForBusinessReasons">11.2. Stopping a Job Manually for Business Reasons</a></span></dt><dt><span class="section"><a href="patterns.html#addingAFooterRecord">11.3. Adding a Footer Record</a></span></dt><dd><dl><dt><span class="section"><a href="patterns.html#writingASummaryFooter">11.3.1. Writing a Summary Footer</a></span></dt></dl></dd><dt><span class="section"><a href="patterns.html#drivingQueryBasedItemReaders">11.4. Driving Query Based ItemReaders</a></span></dt><dt><span class="section"><a href="patterns.html#multiLineRecords">11.5. Multi-Line Records</a></span></dt><dt><span class="section"><a href="patterns.html#executingSystemCommands">11.6. Executing System Commands</a></span></dt><dt><span class="section"><a href="patterns.html#handlingStepCompletionWhenNoInputIsFound">11.7. Handling Step Completion When No Input is Found</a></span></dt><dt><span class="section"><a href="patterns.html#passingDataToFutureSteps">11.8. Passing Data to Future Steps</a></span></dt></dl></dd><dt><span class="chapter"><a href="jsr-352.html">12. JSR-352 Support</a></span></dt><dd><dl><dt><span class="section"><a href="jsr-352.html#jsrGeneralNotes">12.1. General Notes Spring Batch and JSR-352</a></span></dt><dt><span class="section"><a href="jsr-352.html#jsrSetup">12.2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="jsr-352.html#jsrSetupContexts">12.2.1. Application Contexts</a></span></dt><dt><span class="section"><a href="jsr-352.html#jsrSetupLaunching">12.2.2. Launching a JSR-352 based job</a></span></dt></dl></dd><dt><span class="section"><a href="jsr-352.html#dependencyInjection">12.3. Dependency Injection</a></span></dt><dt><span class="section"><a href="jsr-352.html#jsrJobProperties">12.4. Batch Properties</a></span></dt><dd><dl><dt><span class="section"><a href="jsr-352.html#jsrPropertySupport">12.4.1. Property Support</a></span></dt><dt><span class="section"><a href="jsr-352.html#jsrBatchPropertyAnnotation">12.4.2. <code class="classname">@BatchProperty</code> annotation</a></span></dt><dt><span class="section"><a href="jsr-352.html#jsrPropertySubstitution">12.4.3. Property Substitution</a></span></dt></dl></dd><dt><span class="section"><a href="jsr-352.html#jsrProcessingModels">12.5. Processing Models</a></span></dt><dd><dl><dt><span class="section"><a href="jsr-352.html#d5e3942">12.5.1. Item based processing</a></span></dt><dt><span class="section"><a href="jsr-352.html#d5e3952">12.5.2. Custom checkpointing</a></span></dt></dl></dd><dt><span class="section"><a href="jsr-352.html#jsrRunningAJob">12.6. Running a job</a></span></dt><dt><span class="section"><a href="jsr-352.html#jsrContexts">12.7. Contexts</a></span></dt><dt><span class="section"><a href="jsr-352.html#jsrStepFlow">12.8. Step Flow</a></span></dt><dt><span class="section"><a href="jsr-352.html#jsrScaling">12.9. Scaling a JSR-352 batch job</a></span></dt><dd><dl><dt><span class="section"><a href="jsr-352.html#jsrPartitioning">12.9.1. Partitioning</a></span></dt></dl></dd><dt><span class="section"><a href="jsr-352.html#jsrTesting">12.10. Testing</a></span></dt></dl></dd><dt><span class="chapter"><a href="springBatchIntegration.html">13. Spring Batch Integration</a></span></dt><dd><dl><dt><span class="sect1"><a href="springBatchIntegration.html#spring-batch-integration-introduction">13.1. Spring Batch Integration Introduction</a></span></dt><dd><dl><dt><span class="sect2"><a href="springBatchIntegration.html#namespace-support">13.1.1. Namespace Support</a></span></dt><dt><span class="sect2"><a href="springBatchIntegration.html#launching-batch-jobs-through-messages">13.1.2. Launching Batch Jobs through Messages</a></span></dt><dd><dl><dt><span class="sect3"><a href="springBatchIntegration.html#transforming-a-file-into-a-joblaunchrequest">Transforming a file into a JobLaunchRequest</a></span></dt><dt><span class="sect3"><a href="springBatchIntegration.html#the-jobexecution-response">The JobExecution Response</a></span></dt><dt><span class="sect3"><a href="springBatchIntegration.html#spring-batch-integration-configuration">Spring Batch Integration Configuration</a></span></dt><dt><span class="sect3"><a href="springBatchIntegration.html#example-itemreader-configuration">Example ItemReader Configuration</a></span></dt></dl></dd><dt><span class="sect2"><a href="springBatchIntegration.html#providing-feedback-with-informational-messages">13.1.3. Providing Feedback with Informational Messages</a></span></dt><dt><span class="sect2"><a href="springBatchIntegration.html#asynchronous-processors">13.1.4. Asynchronous Processors</a></span></dt><dt><span class="sect2"><a href="springBatchIntegration.html#externalizing-batch-process-execution">13.1.5. Externalizing Batch Process Execution</a></span></dt><dd><dl><dt><span class="sect3"><a href="springBatchIntegration.html#remote-chunking">Remote Chunking</a></span></dt><dt><span class="sect3"><a href="springBatchIntegration.html#remote-partitioning">Remote Partitioning</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="appendix"><a href="listOfReadersAndWriters.html">A. List of ItemReaders and ItemWriters</a></span></dt><dd><dl><dt><span class="section"><a href="listOfReadersAndWriters.html#itemReadersAppendix">A.1. Item Readers</a></span></dt><dt><span class="section"><a href="listOfReadersAndWriters.html#itemWritersAppendix">A.2. Item Writers</a></span></dt></dl></dd><dt><span class="appendix"><a href="metaDataSchema.html">B. Meta-Data Schema</a></span></dt><dd><dl><dt><span class="section"><a href="metaDataSchema.html#metaDataSchemaOverview">B.1. Overview</a></span></dt><dd><dl><dt><span class="section"><a href="metaDataSchema.html#exampleDDLScripts">B.1.1. Example DDL Scripts</a></span></dt><dt><span class="section"><a href="metaDataSchema.html#metaDataVersion">B.1.2. Version</a></span></dt><dt><span class="section"><a href="metaDataSchema.html#metaDataIdentity">B.1.3. Identity</a></span></dt></dl></dd><dt><span class="section"><a href="metaDataSchema.html#metaDataBatchJobInstance">B.2. BATCH_JOB_INSTANCE</a></span></dt><dt><span class="section"><a href="metaDataSchema.html#metaDataBatchJobParams">B.3. BATCH_JOB_EXECUTION_PARAMS</a></span></dt><dt><span class="section"><a href="metaDataSchema.html#metaDataBatchJobExecution">B.4. BATCH_JOB_EXECUTION</a></span></dt><dt><span class="section"><a href="metaDataSchema.html#metaDataBatchStepExecution">B.5. BATCH_STEP_EXECUTION</a></span></dt><dt><span class="section"><a href="metaDataSchema.html#metaDataBatchJobExecutionContext">B.6. BATCH_JOB_EXECUTION_CONTEXT</a></span></dt><dt><span class="section"><a href="metaDataSchema.html#metaDataBatchStepExecutionContext">B.7. BATCH_STEP_EXECUTION_CONTEXT</a></span></dt><dt><span class="section"><a href="metaDataSchema.html#metaDataArchiving">B.8. Archiving</a></span></dt><dt><span class="section"><a href="metaDataSchema.html#multiByteCharacters">B.9. International and Multi-byte Characters</a></span></dt><dt><span class="section"><a href="metaDataSchema.html#recommendationsForIndexingMetaDataTables">B.10. Recommendations for Indexing Meta Data Tables</a></span></dt></dl></dd><dt><span class="appendix"><a href="transactions.html">C. Batch Processing and Transactions</a></span></dt><dd><dl><dt><span class="section"><a href="transactions.html#transactionsNoRetry">C.1. Simple Batching with No Retry</a></span></dt><dt><span class="section"><a href="transactions.html#transactionStatelessRetry">C.2. Simple Stateless Retry</a></span></dt><dt><span class="section"><a href="transactions.html#repeatRetry">C.3. Typical Repeat-Retry Pattern</a></span></dt><dt><span class="section"><a href="transactions.html#asyncChunkProcessing">C.4. Asynchronous Chunk Processing</a></span></dt><dt><span class="section"><a href="transactions.html#asyncItemProcessing">C.5. Asynchronous Item Processing</a></span></dt><dt><span class="section"><a href="transactions.html#transactionPropagation">C.6. Interactions Between Batching and Transaction Propagation</a></span></dt><dt><span class="section"><a href="transactions.html#specialTransactionOrthonogonal">C.7. Special Case: Transactions with Orthogonal Resources</a></span></dt><dt><span class="section"><a href="transactions.html#statelessRetryCannotRecover">C.8. Stateless Retry Cannot Recover</a></span></dt></dl></dd><dt><span class="glossary"><a href="glossary.html">Glossary</a></span></dt></dl></div>
</div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="spring-batch-intro.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right" valign="top">&nbsp;1.&nbsp;Spring Batch Introduction</td></tr></table></div></body></html>