2010-11-18 2 views
2

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

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

ответ

2

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

Смежные вопросы