0

を使用してジョブを開始しましたが、jobLauncher.run(processJob,jobParameters);別のリクエストを使用してジョブを停止しようとすると、例外が発生しjobOperator.stop(jobExecution.getId());ます:

org.springframework.batch.core.launch.JobExecutionNotRunningException: 停止できるように、JobExecution が実行されている必要があります

Set<JobExecution> jobExecutionsSet= jobExplorer.findRunningJobExecutions("processJob");
        for (JobExecution jobExecution:jobExecutionsSet) {
            System.err.println("job status : "+ jobExecution.getStatus());
            if (jobExecution.getStatus()== BatchStatus.STARTED|| jobExecution.getStatus()== BatchStatus.STARTING || jobExecution.getStatus()== BatchStatus.STOPPING){
                jobOperator.stop(jobExecution.getId());
                System.out.println("###########Stopped#########");
            }
        }

印刷ジョブのステータスは常に取得される job status : STOPPINGが、バッチ ジョブが実行中の場合

そのWebアプリは、最初にいくつかのCSVファイルをアップロードし、スプリングバッチを使用していくつかの操作を開始し、この実行中にユーザーが停止する必要がある場合は、別のコントローラーメソッドからのリクエストを停止し、実行中のジョブを停止しようとします

実行中のジョブを停止するために私を助けてください

4

2 に答える 2