Spring Batch 2.0-m3 Release Notes

Bug

  • BATCH-837 - BIGINT datatype is not in Sybase but schema-sybase.sql is using it
  • BATCH-853 - broken transactional item processing
  • BATCH-857 - map daos need to be truly transactional for correct restart
  • BATCH-887 - onSkipInProcess called multiple times for same item using FaultTolerantChunkOrientedTasklet
  • BATCH-889 - SkipLimitStepFactoryBean should be FaultTolerantStepFactoryBean
  • BATCH-892 - Thread visibility issues in repeat template
  • BATCH-895 - Fix XML schema so that only top-level elements are allowed at top level (i.e. job).
  • BATCH-897 - Version is not rehydrated from database in JobInstance or JobExecution
  • BATCH-912 - Thread safety issue in JobRegistryBackgroundJobRunner
  • BATCH-917 - Concurrent modification of execution context in tasklet step
  • BATCH-921 - ExecutionContext keys are not unique enough in partition components
  • BATCH-925 - StaxEventItemWriter doesn't reset restart flag on close
  • BATCH-926 - vague skip limit for concurrent chunks
  • BATCH-931 - Write failures don't fail immediately.
  • BATCH-939 - Make step scope work with aop-auto-proxy

Improvement

  • BATCH-21 - OutputResource abstraction for file / stream output
  • BATCH-63 - Custom namespace for Job and related (Step, and maybe some *Reader/Writer)
  • BATCH-282 - Make input parameters easier to access from ItemReaders, etc.
  • BATCH-341 - Parameter generation strategy
  • BATCH-783 - No logging for item oriented step in case of exception occured in chunk processing
  • BATCH-797 - Refactor Map daos into another repository implementation.
  • BATCH-809 - fixedLenghtTokenizer problem with 1.1.2
  • BATCH-848 - Determine best way tto support a paging iBATIS reader
  • BATCH-869 - End Time of a step or a job always null when read in a StepExecutionListener or a JobExecutionListener
  • BATCH-872 - RFC: Should FileWriterCallback have two methods, one for headers and one for footers?
  • BATCH-878 - AbstractMethodInvokingDelegator is not abstract
  • BATCH-881 - Update meta data schema to limit primary key values to Java Long sizes
  • BATCH-886 - RFC: consolidate JobInstance launching logic
  • BATCH-888 - skip listeners should be called when chunk is about to commit
  • BATCH-894 - RFC: move ExitStatus up into Core?
  • BATCH-896 - "DRY" FaultTolerantTasklet implementations
  • BATCH-900 - Retreive null values from the ExecutionContext
  • BATCH-907 - Integer support in ExecutionContext
  • BATCH-913 - Remove the JdkConcurrent* special classes
  • BATCH-930 - rename ItemSkipPolicy
  • BATCH-938 - Clean up DelimitedLineAggregator implementation

New Feature

  • BATCH-34 - Support for multiple I/O files in a single jobRun for a particular scheduleDate.
  • BATCH-679 - Non-sequential execution
  • BATCH-808 - Provide named parameter support to JdbcCursorItemReader
  • BATCH-874 - Annotation support
  • BATCH-903 - Create test project
  • BATCH-910 - Create a sample job for JobParametersIncrementer
  • BATCH-927 - Add JobParametersIncrementer to job namespace element
  • BATCH-932 - Add reflection-based Field Extractor

Refactoring

Task

  • BATCH-624 - Create contribution page
  • BATCH-673 - Add new Java 5.0 features
  • BATCH-798 - Tidy up chunk processing and retry
  • BATCH-871 - Create FactoryBean for FlatFileItemReader
  • BATCH-893 - Remove the HibernateAwareItemWriter?
  • BATCH-904 - Create a sample job for non sequential execution.
  • BATCH-916 - JobOperator#startNewInstance should inspect last execution status
  • BATCH-922 - Why is there always one more commit than seems necessary?

Sub-task

  • BATCH-264 - Dependencies among jobs
  • BATCH-676 - Create sample job for 'non sequential step execution'
  • BATCH-726 - Pass a resource pattern to MultiResourceItemReader as a JobParameter
  • BATCH-733 - Upgrade StepExecutionResourceProxy to be able to use values from job execution context.
  • BATCH-801 - Add support for passing parameters from execution context
  • BATCH-816 - Make sure all dependencies are part of the Enterprise Repository
  • BATCH-817 - Change project names to correspond with bundle names
  • BATCH-858 - Pause / resume of Job
  • BATCH-875 - Pull jobRepository.save() out of Step implementations and put it in the driving Job
  • BATCH-879 - Decision states: not a regular step, just a volatile decision based on information in the JobExecution.
  • BATCH-880 - Suspend after step and wait for user input
  • BATCH-890 - Stop transition in XML namespace
  • BATCH-891 - Create Annotations
  • BATCH-905 - MultiResourceItemReader should be more dynamic in nature