В IBM MQ сообщения могут быть либо постоянными, либо непостоянными.
Если сообщение является постоянным, оно обычно записывается в журналы транзакций (обычно в /var/mqm/log/MQ_MANAGER/active
) до завершения фиксации или до PUT завершается, если не выполнено в единицах работы.
Если сообщение является непостоянным, оно не будет записано в журналы транзакций.
На данный момент любой тип сообщения может находиться только в памяти и будет записан в файл очереди (обычно в /var/mqm/qmgrs/MQ_MANAGER/queues
), если ему нужно разгрузить память или если он постоянен и установлена контрольная точка.
Если сообщение используется своевременно, оно никогда не будет записано в файл очереди.
Файл очереди уменьшится в размере, если пространство, занимаемое сообщениями, которые больше не нужны, при использовании это происходит автоматически, и, насколько я знаю, IBM не конфигурирует и не документирует.
Непостоянные сообщения, как правило, не сохраняются после перезапуска администратора очередей.
Журналы транзакций можно настроить как циклические или линейные. Если круговые журналы будут использоваться повторно, когда они больше не нужны. Если линейно с автоматизированным c журналом управления (введено в 9.0.2), они будут работать аналогично циклическому. Если линейно без автоматического управления журналом c, то, что случится с журналами, которые больше не нужны, будет основано на вашем собственном управлении журналом.
Если сообщение все еще находится в журнале транзакций, вы можете его просмотреть. как описано в « Где мое сообщение? Инструмент и инструкции по использованию журнала восстановления MQ для выяснения того, что случилось с вашими постоянными сообщениями MQ на распределенных платформах ».