The stop method of the SimpleJobService does not use the SimpleJobOperator stop method. Paradoxically it is using the stop method of the JsrJobOperator.
So instead of calling those 2 statements:
could you please use the SimpleJobOperator::stop(long executionId) method that calls the StoppableTasklet::stop() method to send a stop signal to running tasklet?
Without this change, from a talks, we have to frequently reload jobExecution context from database to check if status has changed to STOPPING.
See pull request: https://github.com/spring-projects/spring-batch-admin/pull/37