have to admit I got a little overwhelmed by the complexity and amount of configuration needed for even a simple example”, Jeff Zapotoczny “What should we think of the Spring Batch solution? Complex. Obviously, it looks more complicated than the simple approaches. This is typical of a framework: the learning curve is steeper”, Arnaud Cogoluègnes “Recently evaluated Spring Batch, and quickly rejected it once I realized that it added nothing to my project aside from bloat and overhead”, RT. Person Complex configuration + Steep learning curve
context of a Spring Batch application grows pretty quick and involves configuring a lot of stuff that, at the outset, it just doesn't seem like you should need to configure. A "job repository" to track the status and history of job executions, which itself requires a data source - just to get started? Wow, that's a bit heavy handed.”, Jeff Zapotoczny “On voit que l’on a besoin d’un transaction manager. Cette propriété est obligatoire, ce qui est à mon sens dommage pour les cas simples comme le nôtre où nous n’utilisons pas les transactions.”, Julien Jakubowski Mandatory components that you might not need “Spring Batch or How Not to Design an API.. Why do I Need a Transaction Manager? Why do I Need a Job Repository?”, William Shields
java.util.Date; public class Product { private long id; private String name; private String description; private double price; private boolean published; private Date lastUpdate; // getters, setters omitted } products.csv Common requirements: - Read file line by line - Filter header record - Parse and map data to the Product bean - Validate product data - Do something with the product (business logic) - Log errors - Report statistics The goal is to keep focus on business logic! Boilerplate Product.java 11
• Custom RetryPolicy + RetryTemplate if needed • Skip feature • Batch scanning in case of write error • Skip bad records instead of failing the whole job
learn, configure and use • Flexible & extensible API • Modular architecture • Fault tolerance features • Declarative data validation • Real-time monitoring 38 • No step concept with flows • No remote partitioning • No remote chunking • Not suitable for big data The not so good ones The good ones
Batch? • Why does Easy Batch not persist job state in a database like Spring Batch? • Why does Easy Batch not provide a Step concept like Spring Batch?
in production (and love it)” chsFleury / @github “Try EasyBatch. The simple stupid Batch framework. Try it once and use it forever.” Eddy Bayonne / @stackoverflow “Loving it so far. Making something I'm working on very simple” zackehh_ / @twitter “Thanks @easy_batch. You guys rock - especially your use of fluent interfaces in your APIs :-) #cleancode” NorthConcepts / @twitter “we have successfully used @easy_batch in production at Leroy Merlin and we love it” benensi / @twitter Community feedback Trusted by