Spring JMS ActiveMQ 跟踪作业状态

Posted

技术标签:

【中文标题】Spring JMS ActiveMQ 跟踪作业状态【英文标题】:Spring JMS ActiveMQ track status of jobs 【发布时间】:2014-04-28 07:03:17 【问题描述】:

在我的Spring Web 服务中有一些异步进程。带有一些参数的客户端请求我从这些参数创建了一个Job 对象,并使用JMS 将其放入ActiveMQ 队列中。因此,侦听器将从队列中获取这些作业并进行处理。现在我需要为客户提供一种方法来跟踪他们的工作状态 (pending, started, finished)。实现这一点的最佳方法是什么?

我以为我可以将JMSTemplate.browse()BrowserCallBack 一起使用,但仍然找不到实现它的方法。

【问题讨论】:

【参考方案1】:

看起来您需要有一个数据库来跟踪作业状态。

客户只需询问统计数据,您就可以从 DB 中select

您可以使用另一个 JMS queue 将作业状态发送到使用适当的侦听器持久化到数据库中。

这样你就会有一个很好的loosely-coupling:你的第一个监听器不会直接连接到数据库服务。

【讨论】:

以上是关于Spring JMS ActiveMQ 跟踪作业状态的主要内容,如果未能解决你的问题,请参考以下文章

Spring整合ActiveMQ:spring+JMS+ActiveMQ+Tomcat

spring jms结合activemq

spring boot整合JMS(ActiveMQ实现)

Spring JMS(ActiveMQ) 延迟消息传递

深入浅出JMS--Spring和ActiveMQ整合的完整实例

深入浅出JMS--Spring和ActiveMQ整合的完整实例