Как получить несколько сообщений от IBM MQ

Я подключаюсь к IBM Websphere MQ и в настоящее время читаю одно сообщение за раз, используя метод receive() из объекта:

javax.jms.Сообщение;

Есть ли способ получить несколько сообщений из очереди за один раз?

Большое спасибо, Г.


person javaExpert    schedule 28.07.2010    source источник


Ответы (1)


Зависит от того, делаете ли вы различие между «чтением» и «извлечением».

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

С точки зрения WMQ да, при условии, что и клиент, и администратор очередей находятся в версии 7, а сообщения непостоянны или просматриваются. В этом случае вы можете включить упреждающее чтение в определении управляемого объекта или динамически во время выполнения. Диспетчер очередей будет передавать несколько сообщений из очереди и доставлять их приложению до того, как первое из них будет подтверждено. Для получения дополнительной информации см. Использование упреждающего чтения с классами WebSphere MQ для JMS.

person T.Rob    schedule 29.07.2010
comment
Я забыл упомянуть, что с чистой настройкой v7 селекторы сообщений обрабатываются в QMgr, поэтому это НАМНОГО быстрее, чем с v6, и вы не будете отбрасывать хорошие сообщения, которые предварительно выбираются от имени приложения с указанными селекторами. . - person T.Rob; 29.07.2010