我在Web应用程序中使用Spring Batch。这些作业由自定义TaskExecutor
运行,该自定义Runnable
管理队列中提交的STARTING
并一个接一个地执行它们。因此,许多工作长期处于状态STARTED
或{{1}}。
现在,当队列中仍有作业时服务器已关闭。重新启动服务器后,作业仍然标记为正在运行,但应该放弃它们。
如何做到这一点?
答案 0 :(得分:1)
Spring Batch没有提供开箱即用的工具。其原因在于,这通常需要某种人类决定这种行为适合的条件。
话虽如此,在您的情况下,如果您没有在集群环境中运行,您可以创建一个组件,在应用程序上下文初始化时,检查作业存储库并根据需要更新状态(类似于你可以在启动时初始化数据源。