当前位置: 首页 > 知识库问答 >
问题:

IBM MQ调用失败,compcode为“2”('mqcc_failed')原因为“2017”('mqrc_handle_not_available')

邹桐
2023-03-14

有人能帮助我在哪里检查MAXHANDS计数吗(我假设它是在MQ端配置的),以及有什么方法可以检查问题被复制的计数数吗?

注意:我使用的是IBMMQ,所有队列基础结构都由MQ团队管理。

错误详细信息:

非常感谢立即的帮助。

public class MessageHandlerImplRCC implements SessionAwareMessageListener {
  @Override public void onMessage(Message message, Session session) {
    TextMessage imbMqReplyMessage = session.createTextMessage();
    imbMqReplyMessage.setJMSMessageID(message.getJMSMessageID());
    imbMqReplyMessage.setJMSCorrelationID(message.getJMSMessageID());
    imbMqReplyMessage.setText(dlmToDemiMappedString);
    MessageProducer messageProducerIBM = session.createProducer(message.getJMSReplyTo());
    messageProducerIBM.send(imbMqReplyMessage);
    message.acknowledge();
  }
}

共有1个答案

邴俊民
2023-03-14

要查看一个任务可以打开多少句柄,请使用以下MQSC命令:-

DISPLAY QMGR MAXHANDS

默认情况下,这是256。然而,与其增加这个值,不如关闭不再使用的句柄。

发出以下MQSC命令查找连接。

DISPLAY CONN(*) TYPE(CONN) APPLTAG

并在appltag字段中查找应用程序名称,然后复制conn值并发出以下MQSC命令:

DISPLAY CONN(paste-in-conn-value) TYPE(ALL) 

您将看到您打开的所有队列。如果你认为你不需要让它们都打开,那么关闭你不需要的,例如使用:-

messageProducerIBM.close();

重新启动侦听器的效果是将它们全部关闭,从而将句柄数设置为零。

 类似资料: