我正在使用org.hornetq.api.core.client
如何确认使用
发送消息producer.send("validQueue",clientMessage)
成功了并且确实到了队列?
尝试发送到无效队列,即
producer.send("NoneExistingQueue",clientMessage)
没有像我预期的那样抛出hornetQException。
答案 0 :(得分:1)
使用核心api,我们允许用户进行纯发布订阅。没有注册地址意味着你没有人连接到那个特定地址(即不感兴趣..在这种情况下,消息只是被忽略)
如果你需要这种语义,我建议你做我们在JMS实现上做的事情,我们在那里查询现有的队列。
如果你知道队列的名称,我建议你这样做:
QueueQuery query = session.queueQuery(queueName);
如果您不知道队列的名称,并且您有纯粹的pub / sub:
BindingQuery queryBinding = session.bindingQuery(SimpleString address)
如果您没有消费者,那么您可以为您的用例做适当的治疗。