powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Почистить очередь в MQSeries
12 сообщений из 12, страница 1 из 1
Почистить очередь в MQSeries
    #32628353
DimaUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Необходимо почистить очередь, но не все сообщения удалить, а некоторые.
Может кто сталкивался с такой проблемой, подскажите пожалуйста.
Заранее благодарен
...
Рейтинг: 0 / 0
Почистить очередь в MQSeries
    #32628462
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
I don't see any other way except to make a short program which open a queue for BROWSE, walk through it showing MsgId, CorrelId, whatever you want to see to decide a message has to deleted, and GET the message you want to delete.
Probably NewYear knows better way.
...
Рейтинг: 0 / 0
Почистить очередь в MQSeries
    #32628761
Фотография Новый Год
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
никак. пиши программку.
...
Рейтинг: 0 / 0
Почистить очередь в MQSeries
    #32628797
Фотография Новый Год
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может быть сколько угодно сообщений с одинаковым MsgId, CorrelId в очереди.
нужно читать из одной очереди и перекладывать в другую.

нужно опции знать опции:
MQOO_SAVE_ALL_CONTEXT
MQPMO_PASS_ALL_CONTEXT

или
MQPMO_SET_ALL_CONTEXT
...
Рейтинг: 0 / 0
Почистить очередь в MQSeries
    #32628976
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
NewYear - i not get what for you suggested to put from one quue to another,
I thought it's enough to show all info from message to get a desigion we need to GET it.
Do you mean to put messages to another queue and later
clear qlocal(another.queue) ?
That will work
...
Рейтинг: 0 / 0
Почистить очередь в MQSeries
    #32629153
Фотография Новый Год
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggv.

зачем, просто
1) прочитал сообщение (деструктивно)
2) решил, нужно его или нет. если не нужно, пункт 1
3) переложить в вспомогательную очередь.
4) пункт 1

если очень хочется, в п2 можно печатать сообщения, и спрашивать нужно/не нужно.

потом еще раз раз рапустить ту же программку, чтоб переложить сообщения назад.

я так понял, ты говоришь о том, чтоб выбирать сообщения по MsgId + CorrelId. может, я и не правильно понял. это не обязательно будет работать, т.к. одна и та же комбинация MsgId + CorrelId. может быть у нескольких сообщений. однако, кожно выбирать сообщения по курсору (MQGMO_MSG_UNDER_CURSOR опция).
...
Рейтинг: 0 / 0
Почистить очередь в MQSeries
    #32629190
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
NewYear:
"я так понял, ты говоришь о том, чтоб выбирать сообщения по MsgId + CorrelId."
nope :)
I said "walk through it showing MsgId, CorrelId, _WHATEVER_you_want_to_see_to_decide a_message_has_to_deleted"
WHATEVER means 'everything' or 'anything', just show everything/anything you want, even a whole message with all its fields :)

So there are different ways - DimaUs, chose one :)
...
Рейтинг: 0 / 0
Почистить очередь в MQSeries
    #32629201
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
I'd create a temporary queue, move messages to be deleted in it, then
echo "clear qlocal(temporary.queue)" | runmqsc <qmngr_name>
:)
...
Рейтинг: 0 / 0
Почистить очередь в MQSeries
    #32629215
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А там есть свои транзакции? Чтобы сделать типа:

1. Начал транзакцию.
2. Прочитал сообщение деструктивно.
3. Сделал COMMIT или ROLLBACK в зависимости от содержания сообщения

или надо непременно вместе с TX Series использовать или вроде?
...
Рейтинг: 0 / 0
Почистить очередь в MQSeries
    #32629262
Фотография Новый Год
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
несомненно, есть транзакции. более того, mq на Workstation может управлять и транзакциями в базах данных. т.е. MQCMIT или MQCBACK как правило распространяется и на базу данных, если она есть.


при работе с TXSeries транзакциями управляет TXSeries, как в MQ, так и в базе. т.е EXEC CICS SYNCPOINT / EXEC CICS STNCPOINT ROLLBACK действует и на db2, и на MQ
...
Рейтинг: 0 / 0
Почистить очередь в MQSeries
    #32629285
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
to Victor (add-on of what NewYear said):
MQSeries is XA compliant, it means it can control distributed two-phase transactions, and we have discussed this ability sometime ago with NewYear here, at the phorum. I had a trouble and he corrected me.

to DimUs: don't think about MQSeries as about human-oriented software. It is program-oriented, it is a way to communicate between programms but not between humans.

to Victor: I am going to put examples with MQSeries and/or Db2 usage at http://bicekru.org/~ggv
I did not put anything yet, today/tomorrow going to put a module for FreeRADIUS (accounting with MQ).
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Почистить очередь в MQSeries
    #35384848
allmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кому еще интересно - два способа могу предложить без написания доп программ (хотя такие есть - выдавались как задание для тестрования студентов):


1. API Exerciser - гонишь курсор с флагом броуз до нужного сообщения, а потом удаляешь с флаго перед курсором

2. Support Pack MO71 - неплохая управлялка, позволяет смотреть до 10000 сообщений в очереди и поступать с каждым на свое усмотрение (удалять, копировать, перемещать)..ну и всего прочего там много
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Почистить очередь в MQSeries
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]