Java分布式作业监控

标签 java batch-file monitoring jobs

我使用 Quartz 定期创建一堆作业,我将这些作业发送到一个队列 (RabbitMQ),在那里它们被 Akka actor 拾取并执行。缺少的一件是工作监控。如果一项工作失败,我什至不会注意到。

作业相当简单:它们只有 1-2 个参数并且没有依赖关系。

有什么(库、最佳实践等)我可以为此利用(即使是 SQL 模式也是一个好的开始)吗?

PS:我已经考虑过 Spring-Batch,它似乎开销太大。

最佳答案

我认为您会找到监视 JMS 的工具。典型的一种是与 JMS 供应商捆绑在一起。 JMS 的一个有趣特性是它可以检测消息处理失败并将消息发送给另一个消费者。

假设您采用 JMS 监控路线,您需要: - 使您的 Akka actor 同步,以便 JMS 消息在处理失败或成功之前等待它响应。 - 记录无法发送 JMS 消息的 Quartz 作业失败。

另一种解决方案是完全同步并让 Quartz 消息管理日志记录(可能在基类或代理中),因此您需要做的监控就是读取日志文件。

据我了解,Akka Actor 监控还没有出现,但已经在计划中了。同时,您可以从这里开始:http://groups.google.com/group/akka-user/browse_thread/thread/3818fb17bef95869

关于Java分布式作业监控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6008323/

相关文章:

java - 如何避免在显示警报后提交表单?

java - Gradle 项目 : java. lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics

batch-file - 如何在 set/p 命令后使用 echo 命令

java - 如何使用 UriInfo 测试 JERSEY Controller 方法

java - 从对象的 ArrayList 中获取具有最低值的属性

windows - 使用 chef 运行 Windows 批处理命令会阻止 chef 提供

java - 当在 java 中运行的批处理文件结束时如何通知我?

java - 如何通过 JMX 或代码监视主要垃圾回收后的内存

linux - Zabbix 主动检查 log[] logrt[]

javascript - 无法让 Node 时间正常运行