【发布时间】:2015-12-18 13:09:34
【问题描述】:
我们在我们的应用程序中使用@Scheduled bean 来运行一段需要每 30 分钟运行一次的代码,但我想监控这个调度的 bean 是否正常运行。
如果由于某种原因调度的 bean 没有被调用,我想生成一个警报。
spring 是否支持任何监听器来监视@Scheduled bean。请帮忙。
【问题讨论】:
-
你能让bean在运行时写入日志文件吗?要测试它是否没有运行会比较困难,但您可以有一个按自己的计划运行的外部脚本来检查日志文件是否已在适当的时间更新。
-
为什么你认为调度的 bean 方法不会被调用?如果这个预定的 bean 没有被调用,那么我认为应用程序内部的任何警报都不会正常工作,并且可能您的应用程序会关闭。 @DaveyDaveDave 建议的一种解决方案。如果您已经有一些独立的警报系统,您可以在调度的 bean 方法中添加代码,以通过发送事件或更新密钥来发布到警报系统该运行成功。如果由于某种原因它没有执行,那么您的警报将在监控系统中触发,因为调度的 bean 方法没有事件。
-
谢谢..我会尝试建议的解决方案