确认消息已到达队列

时间:2013-09-30 06:50:04

标签: hornetq

我正在使用org.hornetq.api.core.client

如何确认使用

发送消息
producer.send("validQueue",clientMessage) 

成功了并且确实到了队列?

尝试发送到无效队列,即

producer.send("NoneExistingQueue",clientMessage) 

没有像我预期的那样抛出hornetQException。

1 个答案:

答案 0 :(得分:1)

使用核心api,我们允许用户进行纯发布订阅。没有注册地址意味着你没有人连接到那个特定地址(即不感兴趣..在这种情况下,消息只是被忽略)

如果你需要这种语义,我建议你做我们在JMS实现上做的事情,我们在那里查询现有的队列。

如果你知道队列的名称,我建议你这样做:

QueueQuery query = session.queueQuery(queueName);

如果您不知道队列的名称,并且您有纯粹的pub / sub:

BindingQuery queryBinding = session.bindingQuery(SimpleString address)

如果您没有消费者,那么您可以为您的用例做适当的治疗。