SpringBatch 批量执行状态保存在哪里?

Where does Spring Batch saves the batch execution state?

我有一个 spring 批处理作业需要很长时间才能执行。执行了一段时间后,我决定停止它,但每当我重新启动服务器时,作业在服务器恢复后仍继续执行。

我想知道 spring 批处理保存状态的位置,以便我可以删除它并阻止它发生。

我发现有一些属性可以配置为无法重新启动作业,我将继续使用它,但现在我只需要确保作业可以永久停止。

您可以查看文档 here,其中显示和描述了 spring 批处理元数据表。

如果你只是想防止重新启动作业,下面的配置应该对你有帮助。 preventRestart() 有助于避免重新启动作业

https://docs.spring.io/spring-batch/trunk/apidocs/org/springframework/batch/core/job/builder/JobBuilderHelper.html

@Bean
        public Job myJob(JobBuilderFactory jobs) throws Exception {
            return jobs.get("myJob")
                    .flow(step1())                          
                    .build()                
                    .preventRestart()
                    .build();

        }