设置JMS 2.0使用者的clientID

问题描述 投票:0回答:1

使用JMS 1.x,在创建持久订阅时,clientId用于唯一标识客户端。此answer说明了JMS 1.x中clientclient的用法。

使用JMS 2.x,clientId被设置为可选。我想了解在JMS 2.x中提供clientId的利弊。

来自Oracle article on JMS 2.x features

共享的长期订阅

。这些仅在JMS 2.0中可用,并且使用createSharedDurableConsumer创建。他们可以有任何数量的消费者。 设置客户端标识符是可选的。如果已设置,则订阅将通过订阅名称和客户端标识符的组合来标识。

听起来订阅名称现在是唯一标识符,但是为什么要有clientID?这些是会话类的新方法,因此不能向后兼容。使用JMS 2.x设置clientId的好处或缺点?

MessageConsumer messageConsumer = session.createSharedDurableConsumer(topic, "myDurableSub");

使用JMS 1.x,在创建持久订阅时,clientId用于唯一标识客户端。此答案解释了JMS 1.x中clientId的用法通过JMS 2.x,clientId被设置为可选。我想...

java jms
1个回答
0
投票

JMS 2规范指出了为什么在6.1.3节中存在客户端ID:

© www.soinside.com 2019 - 2024. All rights reserved.