Author |
Message
|
zmiti |
Posted: Mon Sep 11, 2006 11:44 pm Post subject: When to configure the expire time for MQMessages |
|
|
Newbie
Joined: 11 Sep 2006 Posts: 6
|
Hi,
can anyone told me then it is recommendable to configure the expire time for MQMessages and then not?
Thanks |
|
Back to top |
|
 |
elvis_gn |
Posted: Mon Sep 11, 2006 11:52 pm Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi zmiti,
Usually never....anything that is passed across the Integration layer is usually logged or saved somewhere such as a database or dead letter queue for the administrator to later rectify, if required...
The basic rule of Integration is not to lose a single message....everything has to be accounted for.
Now coming to expiration...incase you are responding or receiving messages from/to external systems and they have a stipulated time after which that message is of no use to them, then you can set an expiry of a limit above that...this is something which WebServices are ok with usually....since everyone is hitting on a queue, they don't want to store the unwanted(timed out) replies.
Similarly, in request-reply scenarios where timing is important and notification or reason for failure is not...
Regards. |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Sep 12, 2006 1:34 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Expiration is solely an issue of business requirements. Is the data in the message invalid after a certain period of time? Is someone waiting for the message to arrive, and they need to stop waiting after some period of time? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
zmiti |
Posted: Tue Sep 12, 2006 3:55 am Post subject: |
|
|
Newbie
Joined: 11 Sep 2006 Posts: 6
|
Thank for the reply. However that is if the Message is not fetched and the Queue and the maximum depth of the Queue reached. Does make it sense to move these Messages to the dead letter queue to avoid the flooding of the normal Queue? |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Sep 12, 2006 4:01 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
If the message is not fetched, then the assumption is that the reading application has failed, and this is a business outage.
Again, you can't make an arbitrary decision about what to do about "stuck" messages without knowing the business requirements that surround the message, and what the message is. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
kevinf2349 |
Posted: Tue Sep 12, 2006 4:30 am Post subject: |
|
|
 Grand Master
Joined: 28 Feb 2003 Posts: 1311 Location: USA
|
Quote: |
Does make it sense to move these Messages to the dead letter queue |
Well it would but just as soon as you try they will get removed. Expired messages will be removed when d someone tries to get a message...anyone...even if it isn't 'their' message to get.
As Jeff said, the best action you can take is to find out why nothing is servicing the queue. |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Sep 12, 2006 9:36 am Post subject: |
|
|
Guest
|
Expiry is set by the application programmer in the MQMD (message descriptor) for each message put to a queue. The expiry value should meet the business requirement.
The expiry interval value is strictly a business issue. As an example: the police stop a vehicle and run the drivers license to see if the driver is wanted for some crime or other. The police policy might be: if after 15 minutes there is no reply from the application program (for any reason), either arrest the driver or cut him/her loose. The business policy that flows would have the application programmer set message expiry to 15 minutes. After 15 minutes, the data would have no business value. |
|
Back to top |
|
 |
|