【发布时间】:2013-09-28 19:53:30
【问题描述】:
我在主题 A 和队列 B 之间创建了一座桥梁。主题 A 上有消息,但队列 B 没有。队列 B 是在这些消息到达主题 A 之后创建的。有没有办法让这些消息进入队列?
【问题讨论】:
我在主题 A 和队列 B 之间创建了一座桥梁。主题 A 上有消息,但队列 B 没有。队列 B 是在这些消息到达主题 A 之后创建的。有没有办法让这些消息进入队列?
【问题讨论】:
主题不会像队列那样为订阅者“保留”消息。因此,您的消息不再“存在”。
如果您订阅了某个主题,那么只有在您的会话正在进行时,您才会收到发送到该主题的每条消息。
唯一的例外是“持久订阅”。在最后一种情况下,系统会创建要发送给每个持久订阅者的消息“队列”......如果会话结束,待处理的“主题”消息将等待订阅者。
在您的情况下,由于在相关消息到达主题 A 之后队列 B 存在......消息已经“丢失”到队列 B,因为桥(在这种情况下是订阅者)当时不存在时间。
查看链接:http://docs.oracle.com/javaee/1.3/jms/tutorial/1_3_1-fcs/doc/basics.html
【讨论】: