Jobs are submitted to a pool of threads.
Stopping a thread in Java is not the easiest thing to do π
It should be possible through the admin interface to stop an execution.
The server should keep track of the execution's Future objects and call cancel on the requested one.
This will set the interrupted flag on the execution thread which should be detected by the user's job using Thread.currentThread().isInterrupted(). This is possible out of the box if the job is an Easy Batch job.