Author |
Message
|
ashu |
Posted: Tue Feb 06, 2007 3:51 am Post subject: how log is the message retained in the XMITQ? |
|
|
 Centurion
Joined: 11 Nov 2006 Posts: 132
|
I read that the persisteance of the message is at two levels: Queue and Message.
I wanted to know what is the default setting.
also what is the relation between persistance of the message and the time to live of the message??
Please help..
Thank you
Ashu |
|
Back to top |
|
 |
exerk |
Posted: Tue Feb 06, 2007 4:00 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
Relying on the persistence setting of the queue is not good practice; consider the effect on messages if the definition is altered to non-persistent from persistent, and a quick check for default persistence shows 'NO'.
'time to live' of the message will depend on whether expiry is set whether it is persistent or not; a non-persistent message may be lost before it is expired, i.e. on restart of a queue manager. _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
ashu |
Posted: Tue Feb 06, 2007 4:06 am Post subject: |
|
|
 Centurion
Joined: 11 Nov 2006 Posts: 132
|
Does it mean that a persistant message might expire while waiting to be removed?? if so is it removed automatically from the Q if it expires??
Thanks for the previous response...
Regards
Ashu |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Feb 06, 2007 4:10 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
ashu wrote: |
Does it mean that a persistant message might expire while waiting to be removed?? if so is it removed automatically from the Q if it expires??
Thanks for the previous response...
Regards
Ashu |
Automatic removal depends on your platform and Version level.
In general it does get removed regardless of platform when you attempt to browse or retrieve from the queue.
zOS there is a "background" program for removing expired messages...
Distributed -- see above for version 5
Version 6 works more like zOS in respect to automatic removal of expired messages... The background process doing it is controlled by the qmgr.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
exerk |
Posted: Tue Feb 06, 2007 4:18 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
It depends on platform, z/OS can remove expired messages as an 'internal' management function, other platforms will expire the message on GET.
Just saw FJ's post...thank you, lack of clarity on my part regarding v5.0/v6.0 differences in distributed. _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Feb 06, 2007 4:40 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Messages do not get removed from queues unless they are explicitly marked to expire.
Messages are not persistent, regardless of what queue they are on, unless they are specifically marked as persistent.
There is no persistance at the queue level. None. It is entirely at the message level.
Message expiration has nothing to do with persistence. Messages that are set to expire will expire regardless of whether they are persistent or not. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Feb 06, 2007 6:59 am Post subject: |
|
|
Guest
|
For each MQPUT, the programmers must specify in the Message Descriptor the message persistence. There are three possible values for the MD persistence field for the programmer to pick from:
1) Persistent - the message will be persistent
2) Non-Persistent - the message will be non-persistent
3) The message will take the persistence value from the queue attribute.
Regarding 3) above: there is a queue attribute that is often refered to as the 'default persistence' for the queue. It is not a default. Rather, it is a setting that will only take effect if the programmer selects option 3) above. |
|
Back to top |
|
 |
zpat |
Posted: Tue Feb 06, 2007 7:32 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
True, however the "persistence as queue default", is the option that is the default MQI option on MQPUT. I'm sure we've had this same debate before! |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Feb 06, 2007 12:11 pm Post subject: |
|
|
Guest
|
Yes, we've had this discussion before. And no, the queue attribute persistence(yes/no) is not a default. It only takes effect if the programmer picks PERSISTENCE_AS_Q_DEF. |
|
Back to top |
|
 |
|