spring - 如何在不按一定时间间隔轮询批处理作业执行表的情况下监听spring批处理作业状态的变化?
问题描述
正如我们所知,spring批处理作业在运行过程中会经历以下状态,我想实时监听这些状态变化,并以当前状态对rest api进行发布调用。
例如: 1.当作业“X”启动时,其初始状态为“STARTING”,我想监听此状态变化并调用 rest api 2.当作业“X”状态更改为“ STARTED',然后我想听听这个状态变化并调用rest api ...
你明白了,对吧?
春季批量作业的不同状态
- 弃
- 完全的
- 失败的
- 开始
- 开始
- 停止
- 停止
- 未知
我知道作业存储库负责对 batch_job_execution 表进行 CRUD 操作,但是我如何才能从 java 代码中监听这些更改?
解决方案
我怎样才能从 java 代码中听到这些变化?
这是可能的,但不适用于所有状态更改。允许您在以下JobExecutionListener
情况下收到通知:
- 工作开始(状态
STARTING
->STARTED
) - 当它完成时(状态
STARTED
-> [STOPPED
|COMPLETED
|FAILED
]。
希望这可以帮助。
推荐阅读
- javascript - React Ace 编辑器标记突出显示整行,甚至定义为限制列的 startCol 和 endCol
- swift - NavigationItem TitleView 约束不起作用
- c++ - C++循环只读取第一行
- python - 根据另一个列表中的元素查找列表中的元素
- azure - 容器化应用服务上的 azure webjob
- ruby-on-rails - 一个类被传递给 `:class_name` 但我们期待一个字符串
- php - 在 Laravel 中发布请求 - 错误 - 419 抱歉,您的会话/419 您的页面已过期
- c# - 当计时器和秒表未运行时,如何设置重置按钮以重置所有内容?
- sql-server - 更快地更新多行 SQL Server
- node.js - DynamoDB - 从多个主键(分区键+排序键/哈希键+范围键)获取最新数据