MQ: максимальное количество экземпляров канала было достигнуто - PullRequest
0 голосов
/ 05 июля 2019

У меня есть клиент Java, который подключается к MQ, и администратор очередей жалуется, что The maximum number of instances, 50, of channel 'CHAN' was reached.

Где и как я могу узнать количество экземпляров, созданных моим клиентом Java, в коде клиента илисвойства?

1 Ответ

5 голосов
/ 05 июля 2019

Ваше приложение будет вызывать новое подключение к каналу каждый раз, когда оно подключается к администратору очередей (если оно не использует общие подключения - подробнее позже).Если вы неоднократно подключаетесь без отключения, у вас может возникнуть описанная вами проблема.

Вы можете просмотреть все соединения каналов в администраторе очередей, используя следующую команду MQSC (выдается с помощью инструмента runmqsc: -

DISPLAY CHSTATUS(CHAN)

В вашем случае может показаться, что канал SVRCONN настроен на разрешение только 50 подключений до выдачи обнаруженной ошибки. Это настроено для атрибута канала SVRCONN, называемого MAXINSTC (или, возможно, MAXINST).

Если ваш канал SVRCONN настроен с параметром SHARECNV, равным 10, вы можете разделить 10 подключений через один экземпляр канала SVRCONN до создания второго экземпляра SVRCONN. Это может означать, что вы на самом деле зарабатываете 500число подключений, прежде чем вы достигнете предела 50. Вы можете увидеть количество подключений, использованных в конкретном экземпляре канала SVRCONN, расширив приведенную выше команду следующим образом: -

DISPLAY CHSTATUS(CHAN) CURSHCNV MAXSHCNV

Просмотрите код приложения Java, чтобы увидетьповторяешь ли тыделайте подключения, когда вам не нужно, и / или не отключайте.Разместите свой код в вопросе для получения дополнительной помощи.

...