1

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

如何确认使用发送消息

producer.send("validQueue",clientMessage) 

成功并到达队列?

尝试发送到无效队列,即

producer.send("NoneExistingQueue",clientMessage) 

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

4

1 回答 1

1

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

如果您需要这种语义,我建议您按照我们在 JMS 实现中所做的操作,在其中查询现有队列。

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

QueueQuery query = session.queueQuery(queueName);

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

BindingQuery queryBinding = session.bindingQuery(SimpleString address)

然后,如果您没有消费者,您可以对您的用例进行适当的处​​理。

于 2013-10-01T18:43:30.683 回答