v1.0.0
π¦ v1.0.0 β First Stable Release of spring-batch-db-cluster-partitioning
This is the first official release of spring-batch-db-cluster-partitioning, a lightweight, database-driven solution to execute partitioned Spring Batch jobs across multiple nodes β without relying on message brokers or static node configuration.
π§ What It Does
This library enables:
- Cluster-wide coordination of partitioned steps in Spring Batch
- Node registration, heartbeat tracking, and graceful failure detection via shared DB
- Dynamic partition assignment to available nodes β no static mapping required
- Built-in fault tolerance: If a node crashes, partitions are reassigned on the fly, if they are set to re-assignable
π Core Features
- Custom PartitionHandler and step execution manager
- Pluggable coordination strategy using three tables:
BATCH_NODESBATCH_JOB_COORDINATIONBATCH_PARTITIONS
- Designed for horizontal scalability, Kubernetes-friendly setups, and stateless jobs
π Included in this Release
Core Java implementation of the coordination and partitioning logic
Sample configuration for integrating with Spring Batch job definitions
Initial setup scripts for coordination tables
Fully working prototype tested across multiple simulated nodes
π Roadmap
- Enhanced Capability to scale to large number of nodes (tens of thousands of nodes, with internal table partitioning)
- Dashboard or status endpoint for monitoring coordination state
π οΈ Who Should Use This
- Engineers deploying large-scale batch jobs across cloud environments
- Teams moving away from heavyweight messaging solutions
- Developers looking for zero-message-broker, database-native step partitioning, to keep the configuration simple and easy debug.
π‘ Your feedback, issues, and contributions are welcome!