Engineering
Releases
News and Events

Spring Batch 4.1.0.M2 Released

We are pleased to announce that Spring Batch 4.1.0.M2 is now available on Github and the Pivotal download repository. Many thanks to all of those who contributed to this release!

What’s new?

Here are the highlights of this release:

  • Simplify remote partitioning
  • Add a new JSON item writer
  • Add support for validating items with the Bean Validation API

Simplify remote partitioning

In the 4.1.0.M1 release, we created new APIs to simplify the configuration of a remote chunking step. In this milestone, we continued this effort to simplify remote partitioning through two new builders: RemotePartitioningMasterStepBuilder and RemotePartitioningWorkerStepBuilder.

These builders can be autowired in your configuration class if the
@EnableBatchIntegration is present as shown in the following example:

@Configuration
@EnableBatchProcessing
@EnableBatchIntegration
public class RemotePartitioningAppConfig {

   @Autowired
   private RemotePartitioningMasterStepBuilderFactory masterStepBuilderFactory;

   @Autowired
   private RemotePartitioningWorkerStepBuilderFactory workerStepBuilderFactory;

   @Bean
   public Step masterStep() {
            return this.masterStepBuilderFactory
               .get("masterStep")
               .partitioner("workerStep", partitioner())
               .gridSize(10)
               .outputChannel(outgoingRequestsToWorkers())
               .inputChannel(incomingRepliesFromWorkers())
               .build();
   }

   @Bean
   public Step workerStep() {
            return this.workerStepBuilderFactory
               .get("workerStep")
               .inputChannel(incomingRequestsFromMaster())
               .outputChannel(outgoingRepliesToMaster())
               .chunk(100)
               .reader(itemReader())
               .writer(itemWriter())
               .build();
   }

   // Middleware beans setup omitted
}

These new builders take care of the heavy lifting of configuring infrastructure beans.
You can now easily configure a master step and a worker step of a remotely partitioned job.

Add a new JSON item writer

In the previous milestone, we created a new item reader to support reading JSON data. In this milestone, we added the JsonFileItemWriter and supporting builder to support writing JSON data.

Bean Validation API support

This release comes with a new ValidatingItemProcessor called BeanValidatingItemProcessor that is able to validate items annotated with the Bean Validation API annotations. This new component will adapt the infrastructure provided by Spring Framework or Spring Boot for Bean Validation API support to an ItemProcessor useful within the step of a Spring Batch job..

For a complete list of changes, please check the change log. We look forward to hearing your feedback on this milestone! Please feel free to ping @michaelminella, @_benas_, or @cppwfs on Twitter or ask your question on StackOverflow or Gitter. If you find any issue, please open a ticket on Jira.

Spring Batch Home | Source on GitHub | Reference Documentation

comments powered by Disqus