我已经创建了一个测试,其中两个使用者都使用自己的连接。我需要确保其中只有一个收到消息。
这些消费者使用相同的clientId和名称。
每当我为第二个使用者设置clientId时,我都会遇到以下异常:
Apache.NMS.InvalidClientIDException :Broker:localhost - 客户端: TwoDurableConsumers_SameConsumerNameAndCientId_OnlyOneReceivesMessageb9182d05-b1b4-46b0-afb0-074b52ad7071 已经从tcp:// 0:0:0连接:0:0:0:0:1:58629 位于c:\ dev \ NMS.ActiveMQ \ src \ main \ csharp \ Connection.cs中的Apache.NMS.ActiveMQ.Connection.CheckConnected():第1041行
TwoDurableConsumers_SameConsumerNameAndCientId_OnlyOneReceivesMessageb9182d05-b1b4-46b0-afb0-074b52ad7071
同时为clientId
和durable subscriber name
。
答案 0 :(得分:1)
您不能拥有两个具有相同客户端ID的客户端,这是错误告诉您的。客户端ID是一个唯一的标识符,可以防止您正在尝试执行的操作,因此答案是不要这样做。