Monitor Spring Boot Batch Jobs with CronRabbit
Spring BootThe Problem
Spring Batch jobs can fail at any step — reader, processor, or writer. Built-in listeners log to the console, but don't alert you externally.
The Solution
Implement a JobExecutionListener that pings CronRabbit with afterJob status. Success = ping, failure = /fail.
JobListener Pattern
Create a listener that fires CronRabbit pings based on job completion status. Register it with your batch job configuration.
Code Examples
Spring Batch listener
Java@Component
public class CronRabbitListener implements JobExecutionListener {
private final RestTemplate rest = new RestTemplate();
private static final String PING = "https://ping.cronrabbit.com/your-id";
@Override
public void beforeJob(JobExecution exec) {
rest.getForObject(PING + "/start", String.class);
}
@Override
public void afterJob(JobExecution exec) {
if (exec.getStatus() == BatchStatus.COMPLETED) {
rest.getForObject(PING, String.class);
} else {
rest.getForObject(PING + "/fail", String.class);
}
}
}