Эксклюзивная блокировка очереди передачи IBM MQ

У меня есть WebSphere MQ Queue Manager с определенной очередью передачи, и я использую API для получения некоторой информации об очереди. При попытке запросить очередь (используя интерфейс .NET, но я считаю, что это здесь не важно) я всегда получаю исключение с причиной 2042: MQRC_OBJECT_IN_USE - согласно документацию, это означает, что в очереди есть монопольная блокировка . Дальнейшее исследование показало, что блокировку удерживает процесс runmqchl — часть сервера MQ.

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

person NOtherDev    schedule 18.11.2010    source источник


Ответы (1)


Канал SDR или SVR всегда будет открывать очередь передачи для эксклюзивного использования. Если клиент .Net получает из-за этого ошибку, он запрашивает права ввода, а также запрос. Вы можете проверить это, используя WMQ Explorer для запроса очереди, и вы увидите, что у него нет проблем с получением атрибутов очереди, глубины и т. д. Так что откройте запрос, но не просмотрите или не получите, и все будет в порядке.

person T.Rob    schedule 18.11.2010