Message persistence
Persistent messages are written out to logs and queue data files. If a queue manager is restarted after a failure, it recovers these persistent messages as necessary from the logged data. Messages that are not persistent are discarded if a queue manager stops, whether the stoppage is as a result of an operator command or because of the failure of some part of your system. Non-persistent messages for WebSphere MQ for z/OS stored in a coupling facility (CF) are an exception to this. They persist as long as the CF remains available.
When you create a message, if you initialize the message descriptor (MQMD) using the defaults, the persistence for the message will be taken from the DefPersistence attribute of the queue specified in the MQOPEN command. Alternatively, you may set the persistence of the message using the Persistence field of the MQMD structure to define the message as persistent or not persistent.
The performance of your application is affected when you use persistent messages; the extent of the effect depends on the performance characteristics of the machine's I/O subsystem and how you use the syncpoint options on each platform:
- A persistent message, outside the current unit of work, is written to disk on every put and get operation. See Chapter 13, Committing and backing out units of work.
- A persistent message within the current unit of work is logged only when the unit of work is committed (and the unit of work could contain many queue operations).
Nonpersistent messages can be used for fast messaging. See WebSphere MQ Application Programming Reference and WebSphere MQ Intercommunication for further information about fast messages.
WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.
IBM is a trademark of the IBM Corporation in the United States, other countries, or both.