JMS消息订阅与过滤机制详解
1. 消息类型处理
在处理消息时,首先需要判断消息的类型。以下代码展示了如何处理 BytesMessage 类型的消息:
if (message instanceof BytesMessage) {
//process request
} else {
throw new IllegalArgumentException("unsupported message type");
}
这段代码表明,如果消息是 BytesMessage 类型,则进行请求处理;否则,抛出不支持的消息类型异常。
2. 持久订阅者与非持久订阅者
2.1 非持久订阅者
非持久订阅者只有在主动监听某个主题时才能接收消息。例如,运行 TBorrower 类并发布多个利率后, TBorrower 类会获取新利率并判断是否是合适的利率。但如果终止 TBorrower 类,发布新利率后再重启,它将无法获取在其未运行期间发布到主题的利率。这是因为 TBorrower 类被创建为非持久订阅者:
TopicSubscriber subscriber = tSession.createSubscriber(topic);
在发布 - 订阅模型中,当JM
超级会员免费看
订阅专栏 解锁全文
41

被折叠的 条评论
为什么被折叠?



