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