我们知道可以配置 MQ 服务器,如果已经有接收器连接到同一个 MQ 队列,则新接收器将无法连接到 MQ 服务器。错误将如下所示:
原因:com.ibm.mq.MQException:JMSCMQ0001:WebSphere MQ 调用失败,compcode '2' ('MQCC_FAILED') 原因 '2042' ('MQRC_OBJECT_IN_USE')
但是有没有办法配置服务器或客户端以允许新的接收器连接到 MQ 服务器并断开任何现有的接收器连接?
以下是目前我的接收器如何连接到服务器。我想知道是否可以对 setIntProperty 做些什么。
cf = new MQQueueConnectionFactory();
cf.setHostName(mqHost);
cf.setPort(mqPort);
cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
cf.setQueueManager(mqQueueManager);
cf.setChannel(mqChannel);
conn = (MQQueueConnection) cf.createQueueConnection();
session = (MQQueueSession) conn.createQueueSession(false, Session.CLIENT_ACKNOWLEDGE);
queue = (MQQueue) session.createQueue(mqQueue);
receiver = (MQQueueReceiver) session.createReceiver(queue);
谢谢!
格里