• Spring Data 3 • Spring AMQP 3 • Spring for Apache Kafka 3 • Spring LDAP 3 • Spring Retry 2 • Micrometer 1.10 https://github.com/spring-projects/spring-framework/wiki
https://www.youtube.com/watch?v=P7SI9mLwiqw "You should expect to see these benefits without having to change anything in your code, just by updating to a newer Java version." Aurelio García-Ribeyro - Senior Director of Product Management - Java Platform Group
Bug fixes o Addition of RecordFieldExtractor for Java Records (similar to BeanWrapperFieldExtractor for Java Beans) • Usage of java.lang.Record APIs to improve configuration o Automatic configuration of mappers in item readers based on item type o Automatic configuration of extractors in item writers based on item type
String name;} // when FlatFileItemReader<Person> reader = new FlatFileItemReaderBuilder<Person>() .resource(new FileSystemResource("/data/persons.csv")) .targetType(Person.class) // set other properties .build(); // then // assertThat(reader.getFieldSetMapper()).isInstanceOf(BeanWrapperFieldSetMapper.class);
String name) {} // when FlatFileItemReader<Person> reader = new FlatFileItemReaderBuilder<Person>() .resource(new FileSystemResource("/data/persons.csv")) .targetType(Person.class) // set other properties .build(); // then // assertThat(reader.getFieldSetMapper()).isInstanceOf(RecordFieldSetMapper.class);
public class MyJobConfiguration { @Bean public Job job(JobRepository jobRepository) { return new MyJob(jobRepository); } @Bean public ConfigurableConversionService myCustomConversionService() { DefaultConversionService conversionService = new DefaultConversionService(); // add converters from String to my.domain.Customer and vice-versa in conversionService return conversionService; } }
of JSON ◦ Jackson is now optional • Meta-data improvements ◦ New “batch.version” attribute in the context { batch.stepType: “..”, batch.restart: “..”, .. batch.version: “5.0.0” }
SQLServer • Addition of column CREATE_TIME in BATCH_STEP_EXECUTION • Addition of PARAMETER_NAME, PARAMETER_TYPE and PARAMETER_VALUE in BATCH_JOB_EXECUTION_PARAMS • Removal of BATCH_CONFIGURATION_LOCATION in BATCH_JOB_EXECUTION https://github.com/spring-projects/spring-batch/wiki/Spring-Batch-5.0-Migration-Guide
by default in all areas of the framework • Transaction support in JobExplorer and JobOperator • Automatic registration of JobOperator with @EnableBatchProcessing • SystemCommandTasklet improvements (new CommandRunner interface) • Test utilities improvements + migration to Junit 5 • New documentation backend
Same support period as Spring Boot ◦ Spring Batch 5.0 (Spring Boot 3.0) ◦ Spring Batch 4.3 (Spring Boot 2.7) https://spring.io/projects/spring-batch#support
Batch 5.1 (Spring Framework 6.1) ◦ Better getting started experience ◦ Virtual Threads (Project Loom) support ◦ Revisit the chunk-oriented processing model implementation Those are goals, not commitments!
and solve complex problems. Core features • Project-based courses with hands-on labs • In-browser code editing and debugging • Certification prep courses • Spring Certified Professional certification Sign up today Get started for free at https://spring.academy. For conference attendees Use SPRINGIO-2023 at checkout by June 4th for a 20% discount on a Spring Academy Pro subscription.