Spring Batch 2.0.0.M4 Release Notes

Bug

  • BATCH-923 - Missing dependency / repository breaks build on fresh checkout
  • BATCH-946 - NullPointerException in MapStepExecutionDao.getStepExecutions
  • BATCH-948 - MapJobInstanceDao.getLastJobInstances ignores jobName parameter
  • BATCH-950 - Exception during rollback hides root cause
  • BATCH-951 - MapJobInstanceDao.getLastJobInstances doesn't return the last job instance
  • BATCH-952 - StagingItemReader is not restartable
  • BATCH-954 - Failure on job stop
  • BATCH-957 - Optional dependencies included by default with new m3 pom
  • BATCH-959 - Get rid of compiler warnings in samples
  • BATCH-960 - Redundant test cases in samples?
  • BATCH-963 - ExecutionContext modifications in ItemStream.close(ExecutionContext) are not persisted
  • BATCH-969 - FlatFileItemWriters interference in CompositeItemWriter
  • BATCH-979 - Insert Apache license header in Java sources (where missing)
  • BATCH-991 - Getting PSQLException: ERROR: column "serialized_context" is of type bytea but expression is of type oid
  • BATCH-994 - BackOffPolicy is not applied for exceptions that cause rollback
  • BATCH-995 - unclear retry configuration in FaultTolerantStepFactoryBean
  • BATCH-996 - use default retryLimit == 1 (not 0) in *StepFactoryBean
  • BATCH-997 - EXIT_CODE and EXIT_MESSAGE out of synch for step
  • BATCH-998 - PDF of Reference Documentation does not contain images of figures
  • BATCH-999 - JobExecution ExecutionContext should not be persisted by Step?
  • BATCH-1001 - Make jobs restartable by default
  • BATCH-1002 - Default behavior for a Job should be failure if a step fails
  • BATCH-1003 - spring-batch-2.0.xsd should not allow "listeners" element on "tasklet"
  • BATCH-1004 - Using namespace to define a step does not store step name
  • BATCH-1005 - startLimit and allowStartIfComplete cannot be set in the namespace
  • BATCH-1006 - Namespace does not allow for variables (ie, $varname)
  • BATCH-1007 - JobRepository default is inconsistent between job and step
  • BATCH-1021 - AssertFile.assertFileEquals(File,File) parameters in the wrong order
  • BATCH-1031 - FlatFileItemReader should identify missing resource in warning

Improvement

  • BATCH-883 - Document JobOperator.start
  • BATCH-919 - Clean up FaultTolerant*
  • BATCH-945 - Add support for step and job name in late binding
  • BATCH-964 - Add fetchSize property to JdbcPagingItemReader
  • BATCH-967 - DRY cleanup of StepParser
  • BATCH-968 - Refactor step/simple-task/item-task elements in the core namespace
  • BATCH-970 - JdbcCursorItemReader executes outside of main transaction
  • BATCH-974 - Change Tasklet interface to use StepContext rather than AttributeAccessor
  • BATCH-985 - (Skiplistener) improve doumentation and/or provide sample for saving skipped lines
  • BATCH-988 - MethodInvokingTaskletAdapter (via AbstractMethodInvokingDelegator) only allows specification of targetObject's declared methods
  • BATCH-993 - Slightly confusing use of *Dao in sample configuration in documentation, where *ItemWriter would be clearer
  • BATCH-1009 - Automatically register ItemReadListener, ItemWriteListener and ItemProcessListener
  • BATCH-1015 - ItemListenerSupport should implement ItemProcessListener
  • BATCH-1020 - Create Loop Flow Sample
  • BATCH-1024 - FlowJob's start state should be the first state listed in the config
  • BATCH-1032 - Modify AbstractJobTests in test project to be able to launch FlowJob steps individually

New Feature

  • BATCH-677 - Partitioning enablement (SPI).
  • BATCH-941 - Create a sample job to highlight late binding.
  • BATCH-958 - Batch Ibatis Update Item Writer
  • BATCH-965 - Create non-delegating ItemWriters for JPA and Hibernate
  • BATCH-980 - Add SystemPropertyInitializer
  • BATCH-986 - Provide factory bean for SqlPagingQueryProvider
  • BATCH-987 - Create JobRepositoryTestUtils
  • BATCH-989 - Add support for named queries on HibernateCursorItemReader
  • BATCH-1016 - Create listener to promote items from Step ExecutionContext to Job ExecutionContext
  • BATCH-1033 - Create a PrefixMatchingCompositeLineMapper

Refactoring

  • BATCH-956 - Remove pause and wait functionality
  • BATCH-962 - refactor TaskletStep's exception handling for better clarity
  • BATCH-982 - Update all samples to use batch namespace
  • BATCH-983 - Remove StepExecutionResourceProxy in favor of late-binding
  • BATCH-1012 - BatchListenerFactoryHelper: two if-statements, identical conditions
  • BATCH-1019 - Create one sample without the namespace
  • BATCH-1025 - Move PatternMatcher to infrastructure project
  • BATCH-1026 - Rename ExitStatus.FINISHED to ExitStatus.COMPLETED
  • BATCH-1045 - Move DataSourceInitializer to the test project's "main" folder

Task

Sub-task

  • BATCH-53 - Aggregation of execution context when partitioning
  • BATCH-234 - Revise documentation to reflect chunk-oriented approach
  • BATCH-607 - FlatFileItemWriter section needs additional details
  • BATCH-730 - HibernateCursorItemReader Parameters
  • BATCH-920 - ChunkContext in StepContextRepeatCallback is unused