Upgrade to Pro — share decks privately, control downloads, hide ads and more …

spring-batch-intro

 spring-batch-intro

Mahmoud Ben Hassine

May 07, 2018
Tweet

More Decks by Mahmoud Ben Hassine

Other Decks in Programming

Transcript

  1. About me ▪ Principal Software Engineer @Pivotal ▪ Spring Batch

    committer ▪ 10+ years as a Software Engineer ▪ Open source enthusiast ▪ Chess junkie! Twitter: @b_e_n_a_s Github: @benas Lichess: @benas
  2. What about you? ▪ Any Spring Batch users? ▪ Any

    Spring Boot users? ▪ Any Spring Cloud Task/Stream users? ▪ Any Spring Cloud Data Flow users?
  3. What is batch processing? “Batch processing … is defined as

    the processing of data without interaction or interruption.” Michael Minella, Pro Spring Batch 6
  4. Core Features ▪ Based on Spring Framework ▪ Flexibility ▪

    Xml/Java config ▪ Declarative I/O ▪ Rich library of item readers/writers ▪ Robustness ▪ Repeat/Retry/Skip/Restart ▪ Transaction management ▪ Chunk-oriented processing ▪ Scalability ▪ Multi-threaded steps ▪ Parallel steps ▪ Remote chunking/partitioning 11
  5. Use cases ▪ ETL processing ▪ Generation of statements/reports ▪

    Data analysis ▪ Data science ▪ Business intelligence 12
  6. History of Spring Batch v1.0
 Mar 28, 2008 v2.0
 Apr

    11, 2009 v3.0
 May 22, 2014 v4.0
 Dec 1, 2017 - Builders for readers - Builders for writers - Java 8 - Spring Framework 5 - Initial APIs - Item-oriented processing - XML configuration - Java 1.4 - Spring Framework 2.5 - Step scope - Chunk-oriented processing - Remote chunking/partitioning - Java 5 - Spring Framework 3 v2.2
 Jun 05, 2013 - Java configuration - Spring Data support - Non-identifying Job params - AMQP support - SQLFire support - Job scope - JSR-352 support - SQLite support - Spring Batch Integration - Spring Boot support 14
  7. Roadmap ▪ Spring Batch v4.1 (SpringOne 2018)* ▪ Simplify remote

    chunking/partitioning configuration ▪ Add JSON ItemReader/ItemWriter implementations ▪ Add JSR-305 annotations to APIs ▪ Spring Batch v4.0.2/v3.0.10 ▪ Maintenance releases for v4.0.x/v3.0.x lines ▪ v3.0.10 will be the last patch version for v3.0.x line ▪ Contributions are welcome! * Those are goals not commitments! 20