【问题标题】:Can the WebSphere MQ SHARECNV parameter cause duplicate messages?WebSphere MQ SHARECNV 参数会导致重复消息吗?
【发布时间】:2015-02-26 12:02:15
【问题描述】:
我正在尝试了解 Websphere MQ 的 SHARECNV 参数。有人可以帮我理解以下内容吗
- SHARECNV 大于 0 是否意味着相同的消息将被共享给那么多线程?还是意味着只会共享连接?
- 在我的应用程序中,多个使用者线程侦听同一个队列。将 SHARECNV 设置为 10 是否意味着相同的消息可以被不同的线程接收。因为我观察到消息被重复。
- 是否存在由于 SHARECNV 变量导致 msg.acknowledge() 未正确发送的情况?
如果有人可以提供一些关于 SHARECNV 的好文档,那将非常有帮助。
谢谢
【问题讨论】:
标签:
java
multithreading
jms
ibm-mq
mq
【解决方案1】:
SHARECNV 是 SVRCONN 类型通道的属性。此参数指示可以通过单个 TCP/IP 连接(即 TCP 套接字)与队列管理器共享多少对话。
确实不意味着消息将被共享给多个线程。这只是意味着将共享一个 TCP/IP 连接。
您可以在SHARECNV 上找到更多详细信息
您能否提供申请的详细信息?您可以检查收到消息的JMSRedelivered 属性以确定是否已重新发送消息。 True 值表示消息已被重新传递,这意味着之前收到此消息的消费者没有确认它。