Websphere MQ Сообщение Прочитано - PullRequest
2 голосов
/ 11 августа 2010

На данный момент у меня есть служба C #, которая читает сообщения из очереди (Websphere MQ) и записывает их в базу данных.Каждый раз, когда я делаю GET, сообщение исчезает из очереди.Я хотел бы получить дополнительную функциональность, хотя.Я предпочитаю читать сообщения из очереди и удалять их из очереди только после успешной записи в базу данных.Обратите внимание, я делаю все это в многопоточном приложении.Я знаю, что есть способ просмотра очереди, но он не обеспечивает необходимую мне функциональность.

Ответы [ 2 ]

0 голосов
/ 24 ноября 2011

Я реализовал аналогичную функциональность в C ++.Надеюсь, это поможет вам или кому-то другому.

Вы можете просматривать сообщения, не удаляя их из очереди, используя опции MQGMO_BROWSE_FIRST и MQGMO_BROWSE_NEXT. Как просмотреть сообщение Websphere MQ, не удаляя его?

Сохранять идентификаторы сообщений в списке или в любой другой подходящей структуре данных.Пишите сообщения в базу данных.

Затем обычно получают сообщения из очереди без опции BROWSE.ImqQueue :: Get принимает два параметра: параметры и ImqMessage.Установите идентификатор сообщения в ImqMessage-class перед вызовом get.ImqMessage действует как фильтр.Вы можете выбрать только те сообщения, которые были успешно записаны в базу данных.

http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=%2Fcom.ibm.mq.amqzan.doc%2Fuc10330_.htm

0 голосов
/ 15 марта 2011

Я пишу свое первое приложение WMQ, и я знаю, что очень скоро столкнусь с этой проблемой, поэтому я нашел ваш вопрос.

Я нашел это http://www.mqseries.net/phpBB2/viewtopic.php?t=43043&sid=11ad2d587dbd19056836ccc3f8943e5f (указавОпция MQOO_BROWSE при открытии очереди) на другом форуме, я еще не пробовал, но стоит попробовать ...

[]

...