Просмотр долговременной подписки WebSphere MQ - PullRequest
0 голосов
/ 22 июня 2010

здесь моя ситуация.

Я хочу, чтобы у меня была функция просмотра сообщений, ожидающих в долговременной подписке, использующей управляемые очереди (поэтому я не могу получить доступ к очереди подписки напрямую).

Если бы это была очередь, я бы просто использовал что-то вроде

remoteDestination = session.QueueManager.AccessQueue(
                    remoteQueueName,
                    MQC.MQOO_BROWSE                 // request browse mode
                    + MQC.MQOO_FAIL_IF_QUIESCING    // but not if MQM stopping
                    + MQC.MQOO_INQUIRE              // request inquire permissions to read stats
                    );

Однако в теме durablesub'd нет доступного флага BROWSE

remoteDestination = session.QueueManager.AccessTopic(
                    remoteTopicName,
                    remoteTopicObject,                    
                    MQC.MQOO_BROWSE                 //can not use an MQOO option here!!!
                    + MQC.MQSO_CREATE                 // create the topic if not already created
                    + MQC.MQSO_ANY_USERID           // allow any user to reattach to this subscription in the future
                                                    // otherwise, only the user who created the subscription can reattach
                    + MQC.MQSO_ALTER                // create (or reattach) to subscription requesting rights to make changes
                    + MQC.MQSO_FAIL_IF_QUIESCING    // if the server is shutting down, fail 
                    + MQC.MQSO_DURABLE              // the subscription is durable
                    + MQC.MQSO_MANAGED,             // the queue manager will create consup
                    "",                             // alternate user ID
                    subscriptionName                // name of the subscription
                );

Оооочень, япросто интересно, возможно ли это?Я предполагаю, что должен быть НЕКОТОРЫЙ способ, чтобы приложение сообщало, что и сколько сообщений оно собирается извлечь из долговременной подписки, прежде чем оно повторно присоединится!?

Обратите внимание, что цель всего этого - разрешитьсервисное приложение для отображения интерактивному пользователю всех «ожидающих» сообщений в его долговременной подписке на случай устранения неполадок.

Заранее спасибо всем, кто может помочь!

Приветствия,Chris

1 Ответ

2 голосов
/ 30 января 2011

Вы можете запросить подписку, чтобы получить имя связанной управляемой очереди, а затем просмотреть или запросить эту очередь обычными методами.Вы правы в том, что для длительной подписки не существует API просмотра.

...