Releases: jchejarla/spring-batch-db-cluster-partitioning
v2.0.0 — Cluster Visibility & Core Module Refinement
🔖 Release v2.0.0 — Enhanced Observability & Module Refinement
This release introduces significant improvements to the Spring Batch DB Cluster Partitioning framework, focusing on module clarity, cluster visibility, and monitoring support.
✅ What’s New
-
🔄 Module Rename
- Renamed core module and JAR to
spring-batch-db-cluster-corefor clarity.
- Renamed core module and JAR to
-
📈 Actuator-Based Monitoring Endpoints
/actuator/health: Displays cluster-wide health status including node heartbeat./actuator/batch-cluster: Lists active nodes and their partition workloads./actuator/batch-cluster/{nodeId}: Shows execution details for a specific node.
📦 Maven Dependency
<dependency>
<groupId>io.github.jchejarla</groupId>
<artifactId>spring-batch-db-cluster-core</artifactId>
<version>2.0.0</version>
</dependency>v1.0.1 – Package name refactoring + Load-Aware task assignment
Changed
- Refactored Java package naming to align with published Maven groupId
io.github.jchejarla
(thanks @arvind-tech-ai for the suggestion)
Enhanced
- Added live task count tracking per node in
BATCH_NODES - Partition assignment logic now prioritizes nodes with fewer active tasks (improves load distribution and throughput)
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!
spring-batch-db-clustering-PR-V1
First pre-release of the library