Skip to content

v1.0.0

Choose a tag to compare

@jchejarla jchejarla released this 07 Jul 20:24
· 30 commits to main since this release

πŸ“¦ 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_NODES
    • BATCH_JOB_COORDINATION
    • BATCH_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!