I agree. Without a DLQ, you risk channels shutting down, trigger monitors stopping, 
and other undesireable side-effects in the event of mis-behaving applications, 
networks, and opertors.  Now I would not recommend designing an application around the 
DLQ, but it's good to have it there as a last-gasp safeguard to keep messages flowing 
when something goes south. The goal would be to make appearances in the DLQ a rarity.  
When a message shows up there, the alerts go out as it signals a problem that needs to 
be fixed.  Better to have the DLQ as a "cushion" so messages can keep flowing while 
the problem is being chased. The notion of poking around in DLQ's for "lost" messages 
is backwards.  A message in the DLQ should be regarded as a "found problem" not a 
"lost message".

> -----Original Message-----
> From: Richard Brunette [SMTP:[EMAIL PROTECTED]
> Sent: Thursday, July 31, 2003 7:31 AM
> To:   [EMAIL PROTECTED]
> Subject:      Re: Design Review - custom trigger monitor vs triggered program
> 
> Pavel
> 
> Maybe I'm just being a little think here, but I'm not understanding how
> removing our dead letter queues would help these situations that you
> mention.
> 
> First of I'm leaving message order out of the picture because that agreed
> is a holy war I don't want to get into.
> 
> Secondly I agree that you certainly have issues to deal with managing the
> dead queue and the messages that land there. However it seems to me that
> you have far more issues to deal with if you do not allow the queue manager
> to use a dead queue. If you are referring to application writing to the
> dead queue, I agree I would not endorse using a dead queue as an
> applications poison/retry queue. That would be best for that business logic
> to deal with on their own queues. But the queue manage is a nother story. I
> would never run a queue manager without a dead queue. I have no desire to
> be called at all hours because one application messed up the whole channel.
> 
> Without a dead queue for the queue manager to route undeliverable messages,
> what processes are you going to need in place to keep your channels and
> XMIT queues healthy and functioning? I certainly don't want business logic
> messing with my XMIT queues. I also would be no more pleased to go
> searching all the XMIT queues (talk about security policies) for a
> particular messaging problem, than I would be to have to find it in the
> dead queues. I know I'd rather have the errant message dumped into the dead
> queue and the rest of the good messages be transmitted. (I know of no
> business unit that will accept "the other guys program has a problem" as an
> excuse for why their production applications can't run.) At least there are
> plenty of usable dead letter handlers out there that can be configured to
> resolve or route messages off the dead queue.  If messages are stuck in the
> XMIT queue on the other hand, then you've got real problems and I know of
> no automated process that is going to save you.
> 
> As for other asynchronous message systems, I'm curious how they assure
> message delivery and keep the channels between servers open and flowing
> freely without something similar on one end or the other.
> 
> Rick
> 
> 
> |---------+--------------------------------------->
> |         |   Pavel Tolkachev                     |
> |         |   <[EMAIL PROTECTED]>            |
> |         |                                       |
> |         |   Sent by: MQSeries List              |
> |         |   <[EMAIL PROTECTED]>           |
> |         |                                       |
> |         |                                       |
> |         |                                       |
> |         |   Wednesday July 30, 2003 10:46 AM    |
> |         |   Please respond to MQSeries List     |
> |         |                                       |
> |---------+--------------------------------------->> 
>   
> >----------------------------------------------------------------------------------------------------|
>   |                                                                                  
>                   |
>   |       To:                                         [EMAIL PROTECTED]              
>             |
>   |       cc:                                                                        
>                   |
>   |       Subject:   Re: Design Review - custom trigger monitor vs triggered program 
>                   |
>   
> >----------------------------------------------------------------------------------------------------|
> 
> 
> 
> 
> Hello Dave,
> 
> Well, it is almost religious thing, so I was hesitant to touch the theme.
> But if you ask :-):
> 
> 1. It breaks the default message order guarantees MQ series normally
> provides.
> 2. It requires handling, and because, after the close look, each
> application has "slightly" different requirements to handle it, it turns
> our that 2 must be developed instead of one for each task: one to process
> the normal flow and another to process messages from dead letter. And
> handlers must be worked out in terms of security and other application
> management issues. Considering the policy for actioning on nondeliverable
> messages a part of business logic seems more appropriate to me.
> 3. When using distributed messaging, you may have a nice encounter every
> time a user compains his/her application did not receive some particular
> message you may have to search for it in dead letter queues (read trush
> cans :-) ) across the globe -- breaking all security policies on your way
> etc..
> 4. DLQ does not have analogs in other messaging systems I have to use, so
> using it reduces interoperability and portability of the software and
> (business) processes -- if you use it.
> 
> Hopefully, this won't start another holy war.. This is just my opinion,
> very humble, and I am in no way MQ expert. Just take it as "another weird
> thing I heard" if you feel strongly disagree.
> 
> Pavel
> 
> 
> 
> 
> 
> 
>                       "David C.
>                       Partridge"                To:
>                       [EMAIL PROTECTED]
>                       <[EMAIL PROTECTED]        cc:
>                       RIMEUR.COM>               Subject:  Re: Design Review
>                       - custom trigger monitor vs triggered program
>                       Sent by: MQSeries
>                       List
>                       <[EMAIL PROTECTED]
>                       .AC.AT>
> 
> 
>                       07/30/2003 10:19
>                       AM
>                       Please respond to
>                       MQSeries List
> 
> 
> 
> 
> 
> 
> Pavel, could you expand on why you think that defining a default dead
> letter
> queue is a "bad thing"?
> 
> When I define a QM I always use -u SYSTEM.DEAD.LETTER.QUEUE.
> 
> I'd agree on all the other things as being "sins", though whether they are
> "deadly" or merely "venal" is possibly arguable (I'd go for deadly myself).
> 
> Dave
> 
> -----Original Message-----
> From: MQSeries List [mailto:[EMAIL PROTECTED] Behalf Of Pavel
> Tolkachev
> Sent: 30 July 2003 14:18
> To: [EMAIL PROTECTED]
> Subject: Re: Design Review - custom trigger monitor vs triggered program
> 
> 
> Thanks Don!
> 
> I thought I was the only one and so was keeping the embarassed silence :-).
> In my personal list of bad things to do the unfounded use of triggering
> (and
> when is it actually well founded?) sits right next to defining default
> queue
> managers, dead letter queues and couple of other things like breaking the
> guarantees of natural order of messages in queues and then using groups to
> get things together.
> 
> Just as a side note..
> Pavel
> 
> 
> 
> 
>                       "Thomas, Don"
>                       <[EMAIL PROTECTED]        To:
> [EMAIL PROTECTED]
>                       OM>                      cc:> 
>                       Sent by: MQSeries        Subject:  Re: Design Review
>                       -
> custom trigger monitor vs triggered program
>                       List
>                       <[EMAIL PROTECTED]
>                       n.AC.AT>
> 
> 
>                       07/30/2003 08:43
>                       AM
>                       Please respond to
>                       MQSeries List
> 
> 
> 
> 
> 
> 
> Peter,
>         If program XYZ is going to be continuously running, why wouldn't it
> be designed to simply do a Get with wait or just periodically check the
> queue? I mean triggering is designed to start an application or process, if
> it is already running then triggering is redundant. Instead of trying to
> tell the consultant why he/she shouldn't do it that way, ask him/her why
> they feel the need to essentially waste the resources by triggering an
> application that is already running.
> 
> Don Thomas
> EDS - PASC
> * Phone: +01-412-893-1659
>      Fax: 412-893-1844
> * mailto:[EMAIL PROTECTED]
> 
> 
> 
> -----Original Message-----
> From: Heggie, Peter [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, July 29, 2003 11:17 AM
> To: [EMAIL PROTECTED]
> Subject: Design Review - custom trigger monitor vs triggered program
> 
> 
> Hello all - would appreciate your responses on this one.
> 
> We have someone who wants to use a custom trigger monitor to both read
> the init queue message and process the application queue message. It
> would be a long running process, on AIX, that waits forever (loops) on
> the init queue. When a message arrives there (trigger message), it
> extracts the queue name from the MQTMC2 and then opens the application
> queue and processes the message. Then it goes back into the loop.
> 
> Setup - A trigger monitor is started at MQ startup time, pointing to a
> specific init queue. The first message coming into the application queue
> triggers normally - MQ writes a trigger message to the init queue and
> the native MQ trigger monitor starts program XYZ according to the
> process definition. The program XYZ is also a trigger monitor, a custom
> trigger monitor.
> 
> Program XYZ has been passed the MQTMC2, so it reads it to get the
> application queue name. It opens the application queue, reads and
> processes the message and closes the application queue. It then goes
> back into a loop where it reads the init queue. Because program XYZ has
> the init queue open, MQ will not invoke another instance of program XYZ.
> 
> Every time another message arrives on the application queue, program XYZ
> will get another trigger message.
> 
> 
> This is not a classic trigger configuration, but are there problems with
> it? The trigger monitor started at MQ startup time is a long running
> process that basically feeds program XYZ trigger messages. Program XYZ
> is also a long running process that monitors the init queue. To shutdown
> the program, you have to treat it the same way as a trigger monitor -
> disable the init queue for Get, but that's not a very bad thing.
> 
> I am used to the simplicity of a trigger monitor that starts an
> application program, that reads application messages until
> No-More-Messages, and gets triggered again when needed. That seems more
> efficient, but is it?
> 
> Peter Heggie
> National Grid, Syracuse, NY
> 
> 
> This e-mail and any files transmitted with it, are confidential to National
> Grid and are intended solely for the use of the individual or entity to
> whom
> they are addressed.  If you have received this e-mail in error, please
> contact the National Grid USA Enterprise Support Center on 508-389-3375 or
> 315-428-6360.
> 
> Instructions for managing your mailing list subscription are provided in
> the Listserv General Users Guide available at http://www.lsoft.com
> Archive: http://vm.akh-wien.ac.at/MQSeries.archive
> 
> Instructions for managing your mailing list subscription are provided in> 
> the Listserv General Users Guide available at http://www.lsoft.com
> Archive: http://vm.akh-wien.ac.at/MQSeries.archive
> 
> 
> 
> 
> 
> --
> 
> This e-mail may contain confidential and/or privileged information. If you
> are not the intended recipient (or have received this e-mail in error)
> please notify the sender immediately and destroy this e-mail. Any
> unauthorized copying, disclosure or distribution of the material in this
> e-mail is strictly forbidden.
> 
> Instructions for managing your mailing list subscription are provided in
> the Listserv General Users Guide available at http://www.lsoft.com
> Archive: http://vm.akh-wien.ac.at/MQSeries.archive
> 
> Instructions for managing your mailing list subscription are provided in
> the Listserv General Users Guide available at http://www.lsoft.com
> Archive: http://vm.akh-wien.ac.at/MQSeries.archive
> 
> 
> 
> 
> 
> --
> 
> This e-mail may contain confidential and/or privileged information. If you
> are not the intended recipient (or have received this e-mail in error)
> please notify the sender immediately and destroy this e-mail. Any
> unauthorized copying, disclosure or distribution of the material in this
> e-mail is strictly forbidden.
> 
> Instructions for managing your mailing list subscription are provided in
> the Listserv General Users Guide available at http://www.lsoft.com
>  Archive: http://vm.akh-wien.ac.at/MQSeries.archive
> 
> Instructions for managing your mailing list subscription are provided in
> the Listserv General Users Guide available at http://www.lsoft.com
> Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Reply via email to