Improve and Update BatchAutoConfiguration

This PR will update and improve BatchAutoConfiguration

  • Add possibility to configure a custom ExecutionContextSerializer
  • Remove the unnecessary JobOperator bean definition
  • Update JobLauncherApplicationRunner to use JobParameters#getIdentifyingParameters
  • Add a Restarting a stopped or failed Job section to the batch howto.

Comment From: wilkinsona

Thanks for the proposal, @cachescrubber. While all affecting Spring Batch, the changes all look to be quite separate and probably belong in separate branches:

  • Add possibility to configure a custom ExecutionContextSerializer
  • This is a new feature that we could add in Spring Boot 3.3
  • Remove the unnecessary JobOperator bean definition
  • This looks like it belongs in 3.0.x and later as DefaultBatchConfiguration will have always defined a JobOperator
  • Update JobLauncherApplicationRunner to use JobParameters#getIdentifyingParameters
  • This is an internal change that we could make in 3.2
  • Add a Restarting a stopped or failed Job section to the batch howto.
  • This doc improvement could be made in 3.0.x and later

Do you have time to split the changes out onto four separate branches and four separate PRs? Alternatively, we could cherry-pick the individual pieces to the appropriate places and leave this PR for adding the custom ExecutionContextSerializer support.

Comment From: cachescrubber

Hi @wilkinsona ,

I 'll split the changes out onto four separate branches and PRs. I'll close this and get a fresh fork of spring-boot.

Comment From: wilkinsona

Thanks very much.