Spring Batch 2.0-m3 Release Notes

* Bug


  * {{{http://jira.springframework.org/browse/BATCH-837}BATCH-837}} -         BIGINT datatype is not in Sybase but schema-sybase.sql is using it

  * {{{http://jira.springframework.org/browse/BATCH-853}BATCH-853}} -         broken transactional item processing

  * {{{http://jira.springframework.org/browse/BATCH-857}BATCH-857}} -         map daos need to be truly transactional for correct restart

  * {{{http://jira.springframework.org/browse/BATCH-887}BATCH-887}} -         onSkipInProcess called multiple times for same item using FaultTolerantChunkOrientedTasklet

  * {{{http://jira.springframework.org/browse/BATCH-889}BATCH-889}} -         SkipLimitStepFactoryBean should be FaultTolerantStepFactoryBean

  * {{{http://jira.springframework.org/browse/BATCH-892}BATCH-892}} -         Thread visibility issues in repeat template

  * {{{http://jira.springframework.org/browse/BATCH-895}BATCH-895}} -         Fix XML schema so that only top-level elements are allowed at top level (i.e. job).

  * {{{http://jira.springframework.org/browse/BATCH-897}BATCH-897}} -         Version is not rehydrated from database in JobInstance or JobExecution

  * {{{http://jira.springframework.org/browse/BATCH-912}BATCH-912}} -         Thread safety issue in JobRegistryBackgroundJobRunner

  * {{{http://jira.springframework.org/browse/BATCH-917}BATCH-917}} -         Concurrent modification of execution context in tasklet step

  * {{{http://jira.springframework.org/browse/BATCH-921}BATCH-921}} -         ExecutionContext keys are not unique enough in partition components

  * {{{http://jira.springframework.org/browse/BATCH-925}BATCH-925}} -         StaxEventItemWriter doesn't reset restart flag on close

  * {{{http://jira.springframework.org/browse/BATCH-926}BATCH-926}} -         vague skip limit for concurrent chunks

  * {{{http://jira.springframework.org/browse/BATCH-931}BATCH-931}} -         Write failures don't fail immediately.

  * {{{http://jira.springframework.org/browse/BATCH-939}BATCH-939}} -         Make step scope work with aop-auto-proxy


    
* Improvement


  * {{{http://jira.springframework.org/browse/BATCH-21}BATCH-21}} -         OutputResource abstraction for file / stream output

  * {{{http://jira.springframework.org/browse/BATCH-63}BATCH-63}} -         Custom namespace for Job and related (Step, and maybe some *Reader/Writer)

  * {{{http://jira.springframework.org/browse/BATCH-282}BATCH-282}} -         Make input parameters easier to access from ItemReaders, etc.

  * {{{http://jira.springframework.org/browse/BATCH-341}BATCH-341}} -         Parameter generation strategy

  * {{{http://jira.springframework.org/browse/BATCH-783}BATCH-783}} -         No logging for item oriented step in case of exception occured in chunk processing

  * {{{http://jira.springframework.org/browse/BATCH-797}BATCH-797}} -         Refactor Map daos into another repository implementation.

  * {{{http://jira.springframework.org/browse/BATCH-809}BATCH-809}} -         fixedLenghtTokenizer problem with 1.1.2

  * {{{http://jira.springframework.org/browse/BATCH-848}BATCH-848}} -         Determine best way tto support a paging iBATIS reader

  * {{{http://jira.springframework.org/browse/BATCH-869}BATCH-869}} -         End Time of a step or a job always null when read in a StepExecutionListener or a JobExecutionListener

  * {{{http://jira.springframework.org/browse/BATCH-872}BATCH-872}} -         RFC: Should FileWriterCallback have two methods, one for headers and one for footers?
  
  * {{{http://jira.springframework.org/browse/BATCH-878}BATCH-878}} -         AbstractMethodInvokingDelegator is not abstract

  * {{{http://jira.springframework.org/browse/BATCH-881}BATCH-881}} -         Update meta data schema to limit primary key values to Java Long sizes

  * {{{http://jira.springframework.org/browse/BATCH-886}BATCH-886}} -         RFC: consolidate JobInstance launching logic

  * {{{http://jira.springframework.org/browse/BATCH-888}BATCH-888}} -         skip listeners should be called when chunk is about to commit

  * {{{http://jira.springframework.org/browse/BATCH-894}BATCH-894}} -         RFC: move ExitStatus up into Core?

  * {{{http://jira.springframework.org/browse/BATCH-896}BATCH-896}} -         "DRY" FaultTolerantTasklet implementations

  * {{{http://jira.springframework.org/browse/BATCH-900}BATCH-900}} -         Retreive null values from the ExecutionContext

  * {{{http://jira.springframework.org/browse/BATCH-907}BATCH-907}} -         Integer support in ExecutionContext

  * {{{http://jira.springframework.org/browse/BATCH-913}BATCH-913}} -         Remove the JdkConcurrent* special classes

  * {{{http://jira.springframework.org/browse/BATCH-930}BATCH-930}} -         rename ItemSkipPolicy

  * {{{http://jira.springframework.org/browse/BATCH-938}BATCH-938}} -         Clean up DelimitedLineAggregator implementation


    
* New Feature


  * {{{http://jira.springframework.org/browse/BATCH-34}BATCH-34}} -         Support for multiple I/O files in a single jobRun for a particular scheduleDate.

  * {{{http://jira.springframework.org/browse/BATCH-679}BATCH-679}} -         Non-sequential execution

  * {{{http://jira.springframework.org/browse/BATCH-808}BATCH-808}} -         Provide named parameter support to JdbcCursorItemReader

  * {{{http://jira.springframework.org/browse/BATCH-874}BATCH-874}} -         Annotation support

  * {{{http://jira.springframework.org/browse/BATCH-903}BATCH-903}} -         Create test project

  * {{{http://jira.springframework.org/browse/BATCH-910}BATCH-910}} -         Create a sample job for JobParametersIncrementer

  * {{{http://jira.springframework.org/browse/BATCH-927}BATCH-927}} -         Add JobParametersIncrementer to job namespace element

  * {{{http://jira.springframework.org/browse/BATCH-932}BATCH-932}} -         Add reflection-based Field Extractor


    
* Refactoring


  * {{{http://jira.springframework.org/browse/BATCH-911}BATCH-911}} -         Consolidate Samples


    
* Task


  * {{{http://jira.springframework.org/browse/BATCH-624}BATCH-624}} -         Create contribution page

  * {{{http://jira.springframework.org/browse/BATCH-673}BATCH-673}} -         Add new Java 5.0 features

  * {{{http://jira.springframework.org/browse/BATCH-798}BATCH-798}} -         Tidy up chunk processing and retry

  * {{{http://jira.springframework.org/browse/BATCH-871}BATCH-871}} -         Create FactoryBean for FlatFileItemReader

  * {{{http://jira.springframework.org/browse/BATCH-893}BATCH-893}} -         Remove the HibernateAwareItemWriter?

  * {{{http://jira.springframework.org/browse/BATCH-904}BATCH-904}} -         Create a sample job for non sequential execution.

  * {{{http://jira.springframework.org/browse/BATCH-916}BATCH-916}} -         JobOperator#startNewInstance should inspect last execution status

  * {{{http://jira.springframework.org/browse/BATCH-922}BATCH-922}} -         Why is there always one more commit than seems necessary?


* Sub-task


  * {{{http://jira.springframework.org/browse/BATCH-264}BATCH-264}} -         Dependencies among jobs 

  * {{{http://jira.springframework.org/browse/BATCH-676}BATCH-676}} -         Create sample job for 'non sequential step execution'

  * {{{http://jira.springframework.org/browse/BATCH-726}BATCH-726}} -         Pass a resource pattern to MultiResourceItemReader as a JobParameter

  * {{{http://jira.springframework.org/browse/BATCH-733}BATCH-733}} -         Upgrade StepExecutionResourceProxy to be able to use values from job execution context.

  * {{{http://jira.springframework.org/browse/BATCH-801}BATCH-801}} -         Add support for passing parameters from execution context

  * {{{http://jira.springframework.org/browse/BATCH-816}BATCH-816}} -         Make sure all dependencies are part of the Enterprise Repository

  * {{{http://jira.springframework.org/browse/BATCH-817}BATCH-817}} -         Change project names to correspond with bundle names

  * {{{http://jira.springframework.org/browse/BATCH-858}BATCH-858}} -         Pause / resume of Job

  * {{{http://jira.springframework.org/browse/BATCH-875}BATCH-875}} -         Pull jobRepository.save() out of Step implementations and put it in the driving Job

  * {{{http://jira.springframework.org/browse/BATCH-879}BATCH-879}} -         Decision states: not a regular step, just a volatile decision based on information in the JobExecution.

  * {{{http://jira.springframework.org/browse/BATCH-880}BATCH-880}} -         Suspend after step and wait for user input

  * {{{http://jira.springframework.org/browse/BATCH-890}BATCH-890}} -         Stop transition in XML namespace

  * {{{http://jira.springframework.org/browse/BATCH-891}BATCH-891}} -         Create Annotations

  * {{{http://jira.springframework.org/browse/BATCH-905}BATCH-905}} -         MultiResourceItemReader should be more dynamic in nature

