Skip to content

Releases: jchejarla/spring-batch-db-cluster-partitioning

v2.0.0 — Cluster Visibility & Core Module Refinement

01 Aug 04:43

Choose a tag to compare

🔖 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-core for clarity.
  • 📈 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

28 Jul 00:00

Choose a tag to compare

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

07 Jul 20:24

Choose a tag to compare

📦 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!

spring-batch-db-clustering-PR-V1

24 May 10:55
7633c63

Choose a tag to compare

Pre-release

First pre-release of the library