Spring JMS:如何使用`ActiveMQ Advisory Message`

时间:2018-05-29 01:29:03

标签: jms activemq spring-jms jms-topic

对于使用Spring Framework且有/无ActiveMQ的{​​{1}}应用

要求是在向WebSocket发送任何消息之前,应该对Topic进行检查,如果返回1,则可以安全地发送消息。如果返回0,则无法发送消息。

客户端可能来自websocket,并认为没有持久订阅。因此,如果发送了一条消息,并且没有客户端,则该消息将到达Number Of Consumers并且几乎丢失(从未消耗)并且Topic递增+1

我已经做了一项研究,并且我已阅读以下内容:

实际上所有内容都基于Messages Enqueued。我已经读过了:

我理解,如果存在名为Advisory Message的{​​{1}},则Topic会创建abc.xyz,直到此处我对这种模式感到满意。我可以通过ActiveMQ

确认这种方法

让我感到困惑的是,几乎所有以前链接中提供的示例都围绕创建ActiveMQ.Advisory.Consumer.Topic.abc.xyz并主要使用ActiveMQ Web Console方法。对于后者,我知道听众的工作方式。

问题01 :那么谁应该称之为Session?它触发onMessage方法?这是我的困惑。

我需要的是使用ActiveMQ.Advisory.Consumer.Topic.abc.xyz API(该应用已在使用onMessage工作并运行,因此可以检索Spring Framework,其他CachingConnectionFactoryConnection的基础架构可以访问该@Beans目标并检索ActiveMQ值。

注意:即使存在ActiveMQ.Advisory.Consumer.Topic.abc.xyzNumber Of Consumers一起声明,也可能为某些ActiveMQTopic检索@Bean,遗憾的是API确实存在Destination不提供@Component等方法。

问题02:如何实现这一目标?

我假设2.0.x的getConsumers() API可能在某种程度上有所帮助。

0 个答案:

没有答案