You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently there is a afterJob method in JobExecutionListener that is called after the job completes but BEFORE the job metadata (status) is actually saved into the database. We currently use this method to send a message to RabbitMQ with the status of the job but there is the edge case that we send the message with the new status but the transaction rolls back in the end. This would lead to the case that the status in the message and the status in the DB do not match.
Proposed Feature
Additional afterJobSaved method in JobExecutionListener or configurable afterJob method that is only called AFTER the job status is persisted.
The text was updated successfully, but these errors were encountered:
I think this is a very useful feature and I’d be happy to implement it. Adding a new default method to the JobExecutionListener interface would address @hannosgit’s use case perfectly.
Would introducing a backward‑compatible change like this (i.e. a new default method) be acceptable in an upcoming minor release? @fmbenhassine I’d appreciate your guidance.
hannosgit
added a commit
to hannosgit/spring-batch
that referenced
this issue
May 31, 2025
Current Behavior
Currently there is a
afterJob
method inJobExecutionListener
that is called after the job completes but BEFORE the job metadata (status) is actually saved into the database. We currently use this method to send a message to RabbitMQ with the status of the job but there is the edge case that we send the message with the new status but the transaction rolls back in the end. This would lead to the case that the status in the message and the status in the DB do not match.Proposed Feature
Additional
afterJobSaved
method inJobExecutionListener
or configurableafterJob
method that is only called AFTER the job status is persisted.The text was updated successfully, but these errors were encountered: