Author |
Message
|
lnm |
Posted: Wed Feb 09, 2005 2:04 pm Post subject: runmqdlq question on multiple qmanagers |
|
|
Apprentice
Joined: 12 Mar 2002 Posts: 43 Location: Florida
|
I have several Qmanagers running on each server (AIX and Windows). How do I have one dead letter handler running for each box, rather than each Qmanager separately. Or do I have to have one for each Qmanager? I want to use the same rules file for every Qmanager.
I can script it to pull the DLQ name and QM name. If I do that though, I have to let it run once for each Qmanager then stop. Any suggestions? I've searched and nothing really addresses this in the manuals.[/b] |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Feb 09, 2005 2:07 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Well.
You could define the dead letter queue on each QM as a remote queue to a local queue on one of the QMs.
But then, what if the channel fails to that QM, and messages need to go to the Dead Letter Queue because they can't go through the channel? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
lnm |
Posted: Wed Feb 09, 2005 2:13 pm Post subject: |
|
|
Apprentice
Joined: 12 Mar 2002 Posts: 43 Location: Florida
|
I don't want to move the messages around to other Qmangers. Most of the rules will either fwd, retry, or discard the message. I'm using the same rules file, I thought it would just be easier to keep up with verifying that one process is running on a machine as oppose to 3, 6, or 20 for each Qmanager. Keep those ideas coming! thanks, |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Feb 09, 2005 2:18 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The source for runmqdlq is included in the sample code.
I don't think it does what you want out of the box. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
csmith28 |
Posted: Wed Feb 09, 2005 3:22 pm Post subject: |
|
|
 Grand Master
Joined: 15 Jul 2003 Posts: 1196 Location: Arizona
|
I started to think of some ideas but then I stopped. I think Jeff is right. This isn't possible out of the box. _________________ Yes, I am an agent of Satan but my duties are largely ceremonial. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Feb 09, 2005 5:00 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Of course it should be possible
Set up the DLQ as a remote queue.
All messages then pool in a specific qmgr.
The header still has the information for where the message was headed.
What you will be missing is if the message lands on a dlq of a different qmgr as the one it was destined to.
The qmgr that gets all the dead letter queue messages must have a default path to all the participating qmgrs. This will ensure that you can retry or use
Code: |
action(fwd) fwdq(myq) fwdqm(myqm) header(no) |
Enjoy |
|
Back to top |
|
 |
csmith28 |
Posted: Wed Feb 09, 2005 6:46 pm Post subject: |
|
|
 Grand Master
Joined: 15 Jul 2003 Posts: 1196 Location: Arizona
|
fjb_saper wrote: |
Of course it should be possible
Set up the DLQ as a remote queue.
All messages then pool in a specific qmgr.
The header still has the information for where the message was headed.
What you will be missing is if the message lands on a dlq of a different qmgr as the one it was destined to.
The qmgr that gets all the dead letter queue messages must have a default path to all the participating qmgrs. This will ensure that you can retry or use
Code: |
action(fwd) fwdq(myq) fwdqm(myqm) header(no) |
Enjoy |
Except he said, "I don't want to move the messages around to other Qmangers." _________________ Yes, I am an agent of Satan but my duties are largely ceremonial. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Feb 09, 2005 8:08 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Sorry
In that case no magic..
Have a dead letter queue on each qmgr and process the rules on it.
Don't forget to put
in the first line of your rules.
Start the dlq handler at qmgr start and let it run until quiesce/shutdown.
Have a second DLQ setup for all the messages that don't fit the rules.
This will be the one you really need to investigate manually.
Enjoy |
|
Back to top |
|
 |
lnm |
Posted: Thu Feb 10, 2005 6:25 am Post subject: |
|
|
Apprentice
Joined: 12 Mar 2002 Posts: 43 Location: Florida
|
OK, but there isn't any reason why I can't use the same rules table for all of the dlq handler processes right? |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Feb 10, 2005 2:26 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
No you should be fine.
Just overwrite inputq and inputqm at command line level when starting the dlqhandler.
Enjoy  |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Feb 10, 2005 3:17 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
fjb_saper wrote: |
No you should be fine.
Just overwrite inputq and inputqm at command line level when starting the dlqhandler.
Enjoy  |
Which is where he started...  _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Feb 10, 2005 7:51 pm Post subject: Re: runmqdlq question on multiple qmanagers |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
lnm wrote: |
I want to use the same rules file for every Qmanager.
I can script it to pull the DLQ name and QM name. If I do that though, I have to let it run once for each Qmanager then stop. Any suggestions? I've searched and nothing really addresses this in the manuals. |
jefflowry wrote: |
Which is where he started... |
Not quite. As I stated with the parameter WAIT(YES) in the first line of the rule book you do not have to restart the dlq handler. It acts like a trigger monitor. Add to that an additional Queue where you put all the messages that did not match any of the filter rules -- dlq needing human intervention and you're set.
Enjoy  |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Feb 11, 2005 4:56 am Post subject: Re: runmqdlq question on multiple qmanagers |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
fjb_saper wrote: |
Not quite. As I stated with the parameter WAIT(YES) in the first line of the rule book you do not have to restart the dlq handler. |
Except when he wants to change which queue manager it's talking to.
And I thought that leaving a DLQH running constantly was not recommended, as it might lead to dead locks if the DLQH tries to replay a message before the situation that caused the message to go to the DLQ has been fixed? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
lnm |
Posted: Fri Feb 11, 2005 5:28 am Post subject: |
|
|
Apprentice
Joined: 12 Mar 2002 Posts: 43 Location: Florida
|
So are you saying it would be best to run it, let's say every hour as opposed to running it constantly in the background? |
|
Back to top |
|
 |
kevinf2349 |
Posted: Fri Feb 11, 2005 5:54 am Post subject: |
|
|
 Grand Master
Joined: 28 Feb 2003 Posts: 1311 Location: USA
|
I'm a little bit alarmed that anyone would want to permanently run the DLQ handler anyway.
Probably my main worry is that you are getting that many that you want to run a DLQ handler with such regularity in the first place. Personally I would rather not get any dead letters at all, but if and when I do get them then I would want to take a quick look at them before I took any decisions as to what to do with them. Then I would run the DLQ handler when I was happy that I knew what needed doing.
Of course that is just my opinion  |
|
Back to top |
|
 |
|