gpt4 book ai didi

java - spring 批处理仍处于 EXECUTING 状态

转载 作者:行者123 更新时间:2023-12-01 14:23:29 25 4
gpt4 key购买 nike

我创建了一个使用 type 阅读器的作业org.springframework.batch.item.database.HibernateCursorItemReader 执行查询。

问题是在这种情况下数据库连接达到了连接限制(我有一个oracle错误ORA-12519,TNS:找不到适当的服务处理程序),令人惊讶的是,我注意到exit_code BATCH_STEP_EXECUTION 表上 =EXECUTING 和 status=STARTED。

如果我再次运行该作业,它将响应“此作业的作业执行已在运行”,如果我对此任务发出-restart,它会提示消息“未发现作业执行失败或停止”。

Spring Batch 如何管理这些致命的失败情况?我是否必须手动删除这些执行信息或者是否有重置选项?感谢您的帮助

最佳答案

当前版本的 Spring Batch (2.2.0) 似乎没有针对这种情况的现成解决方案。正如本文中讨论的question ,可能需要对数据库进行“手动”干预。或者,如果这是一个挂起的特定作业(即您知道作业名称),您也可以执行以下操作;

  • 使用JobExplorer.findRunningJobExecutions(jobName)
  • 浏览执行列表并使其“失败”(JobExecution.upgradeStatus(BatchStatus.FAILED))
  • 使用JobRepository.update(jobExecution)保存更改

关于java - spring 批处理仍处于 EXECUTING 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17348062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com