Проверьте глубину очереди MQ - PullRequest
3 голосов
/ 28 декабря 2011

Может ли кто-нибудь помочь в выполнении кода в Java для получения глубины очередей. У нас в IBM WebSphere MQ есть 4 очереди, и внутри них есть сообщения.

Я хочу написать jsp для чтения имен очередей и их глубины во время выполнения отчета. Как мне это сделать?

Ответы [ 2 ]

3 голосов
/ 26 апреля 2012

См. http://blog.guymahieu.com/2008/06/11/getting-the-depth-of-an-mqseries-queue-from-java/.

Я заново реализовал это следующим образом:

import com.ibm.mq.*;

public class QueueManager {

    private final String host;
    private final int port;
    private final String channel;
    private final String manager;
    private final MQQueueManager qmgr;

    public QueueManager(String host, int port, String channel, String manager) throws MQException {
        this.host = host;
        this.port = port;
        this.channel = channel;
        this.manager = manager;
        this.qmgr = createQueueManager();
    }

    public int depthOf(String queueName) throws MQException {
        MQQueue queue = qmgr.accessQueue(queueName, MQC.MQOO_INQUIRE | MQC.MQOO_INPUT_AS_Q_DEF, null, null, null);
        return queue.getCurrentDepth();
    }

    @SuppressWarnings("unchecked")
    private MQQueueManager createQueueManager() throws MQException {
        MQEnvironment.channel = channel;
        MQEnvironment.port = port;
        MQEnvironment.hostname = host;
        MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES);
        return new MQQueueManager(manager);
    }
}

Поместите следующие jar на ваш путь к классам:

  • com.ibm.mq * jar
  • j2ee.jar
0 голосов
/ 28 декабря 2011

Я видел ответ очередь доступа с Websphere MQ API

Вы смотрели на доступные MBeans в контексте JMX?Если бы мне пришлось это сделать, я выставил бы его в Mbean.

Вы можете увидеть там Топологии IBM JMS

Для мониторинга и проверки состоянияресурсы, такие как глубина очереди, есть несколько вариантов.Предпочтительным вариантом является использование JMX Mbeans, предоставляемых с Application Serve, для мониторинга: JMSBasicFunction, JMSAdministration и EmbeddedJMSAdministration.Вы можете получить доступ к этим Mbeans через wsadmin или программно.Во-вторых, вы можете использовать традиционные утилиты администрирования WMQ, такие как runmqsc или MQExplorer, для просмотра очередей и других ресурсов.Если вы используете эти утилиты, важно, чтобы вы не вносили никаких изменений в конфигурацию диспетчера очередей и очередей сервера приложений.Эти ресурсы находятся под контролем сервера приложений.Внесение изменений в эти ресурсы с использованием утилит MQ приводит к неработающей конфигурации

Не знаю, находитесь ли вы на WAS-сервере, и если это все тот же MBeans, но вы должны найти эквиваленты Mbeansваш AS.

...