相关疑难解决方法(0)

无法重新启动 Spring 批处理作业

我有一个 spring 批处理作业,它读取、转换和写入 Oracle 数据库。我正在通过 CommandLineJobRunner 实用程序运行该作业(使用一个胖 jar + 使用 maven shade 插件生成的依赖项);由于“达到 Java 堆内存限制”,该作业随后在中途失败,并且该作业未标记为 FAILED,但仍显示状态 STARTED。

我尝试使用相同的作业参数(如文档建议)重新运行作业,但这给了我这个错误:

5:24:34.147 [main] ERROR o.s.b.c.l.s.CommandLineJobRunner - Job Terminated in error: A job execution for this job is already running: JobInstance: id=1, version=0, Job=[maskTableJob]
Run Code Online (Sandbox Code Playgroud)

org.springframework.batch.core.repository.JobExecutionAlreadyRunningException:此作业的作业执行已在运行:JobInstance: id=1, version=0, Job=[maskTableJob] at org.springframework.batch.core.repository.support。 SimpleJobRepository.createJobExecution(SimpleJobRepository.java:120) ~[maskng-batch-1.0-SNAPSHOT-executable.jar:1.0-SNAPSH

我尝试了各种方法(例如手动将状态设置为 FAILED,使用 -restart 参数)但无济于事。有什么我在这里遗漏的,因为我认为 Spring Batch 的优点之一是它能够在他们停止的地方重新启动工作......!!?

spring spring-batch

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

spring ×1

spring-batch ×1