Author |
Message
|
brianb |
Posted: Sun May 23, 2010 9:17 pm Post subject: BOQNAME and DLQ |
|
|
Voyager
Joined: 12 May 2010 Posts: 85
|
Hi
What is the general method of defining the BOQ is it to the DLQ. The manual says you can use the DLQ however this does not seem to be the best way to implement this IMHO ? Do most people specify an application specific BOQ ?
Thanks
Brian |
|
Back to top |
|
 |
fjb_saper |
Posted: Sun May 23, 2010 9:23 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
It really depends on frequency and what you want to do with the messages.
If the messages get written to the BOQ once in a blue moon, you can potentially not define a BOQ and let them land on the DLQ. Understand that you will have to use the DLQ handler to move them, retry them, or discard them.
You have to find what is most efficient and convenient for your organization.
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
brianb |
Posted: Sun May 23, 2010 9:32 pm Post subject: BOQNAME |
|
|
Voyager
Joined: 12 May 2010 Posts: 85
|
Hi fjb_saper
Thanks for the response.
I was thinking more along the lines that an application queue has a poison message which is application specific and that if you are going to define a BOQ you may as well define an application BOQ ...message arriving on BOQAPP would alert to specific application team where DLQ messages normally alert to Admin
as for how often it is broker
I know all environments are different just looking at the logic of using the DLQ.. |
|
Back to top |
|
 |
exerk |
Posted: Mon May 24, 2010 1:28 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
fjb_saper wrote: |
...Understand that you will have to use the DLQ handler to move them, retry them, or discard them... |
Would the messages have had a DLQH appended in this case? Or are you advocating the use of a bespoke Dead-letter handler that can deal with both DLQH/no DLQH? _________________ 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 |
|
 |
fjb_saper |
Posted: Mon May 24, 2010 2:14 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
exerk wrote: |
fjb_saper wrote: |
...Understand that you will have to use the DLQ handler to move them, retry them, or discard them... |
Would the messages have had a DLQH appended in this case? Or are you advocating the use of a bespoke Dead-letter handler that can deal with both DLQH/no DLQH? |
If you don't specify a BOQ the qmgr posts the message to the DLQ with a DLQH (JMS, WMB, etc...). The application should never post to the DLQ. Our applications have an APPL.ERROR.Q to post to (note that this is not the BOQ for the app's input queue).
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
exerk |
Posted: Mon May 24, 2010 2:31 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
Yet again I learn something new - thank you!  _________________ 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 |
|
 |
PeterPotkay |
Posted: Mon May 24, 2010 4:22 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
fjb_saper wrote: |
exerk wrote: |
fjb_saper wrote: |
...Understand that you will have to use the DLQ handler to move them, retry them, or discard them... |
Would the messages have had a DLQH appended in this case? Or are you advocating the use of a bespoke Dead-letter handler that can deal with both DLQH/no DLQH? |
If you don't specify a BOQ the qmgr posts the message to the DLQ with a DLQH (JMS, WMB, etc...). The application should never post to the DLQ. Our applications have an APPL.ERROR.Q to post to (note that this is not the BOQ for the app's input queue).
Have fun  |
I don't think the QM usually puts a message to the DLQ. Its more typically the app - WMB, JMS, a RCVR channel MCA, a SNDR channel MCA, etc. And its up to that app to build the correct header. I consider a channel MCA an app in this case. Channels are just "apps" connecting to the QM putting and getting messages.
A COD report that does not access to the XMITQ is one case where I assume the QM would be writing to the DLQ itself. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon May 24, 2010 5:19 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
If you don't specify a BOQ the qmgr posts the message to the DLQ with a DLQH |
Uh, no.
Application use of the DLQ is not a best-practice.
WMQ does nothing for the app whether there is a BOQ named in the backout-requeue-queuename attribute or not. It is up to the app to decide what to do with a poison message.
If the app decides that the message is not worth processing, the app should move the message to an application-specific queue for special handling.good idea for a an application message. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon May 24, 2010 6:21 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Ok so let's be specific.
When I said the qmgr puts the msg to the DLQ with a DLQH, what I meant is that the standard API's/application delivered by IBM will make that happen (JMS, WMB, WAS, etc...) without developer coding.
Note that in Java Base and other homegrown apps the developer will have to code for this...
In any case developers should think about the behavior of their applications and use an application defined queue for bad messages, poison messages, messages that cannot be processed, etc...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon May 24, 2010 7:46 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
I knew you meant that. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
fatherjack |
Posted: Mon May 24, 2010 1:57 pm Post subject: |
|
|
 Knight
Joined: 14 Apr 2010 Posts: 522 Location: Craggy Island
|
fjb_saper wrote: |
If you don't specify a BOQ the qmgr posts the message to the DLQ with a DLQH (JMS, WMB, etc...). |
In limited cases only. What's included in etc? _________________ Never let the facts get in the way of a good theory. |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon May 24, 2010 2:43 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
In limited cases only. |
Nope. WMQ does nothing with poison messages. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
brianb |
Posted: Mon May 24, 2010 3:22 pm Post subject: |
|
|
Voyager
Joined: 12 May 2010 Posts: 85
|
Good points
I think my question is a little more basic
Broker tries to deliver a message it is a posion message lets say it tries 3 times and puts to a BOQ.
Now I would think the System DLQ is not really the place to deposit the message and there is no DLQH on
BOTHRESH(3) +
BOQNAME('SYSTEM.DEAD.LETTER.QUEUE')
The IBM manual states to use the DLQ and does not mention that you could or should do it another way.
My preference would be to put it in an application queue and have either a DLQH or monitor on it and from an admin perspective have the app guys handle it. |
|
Back to top |
|
 |
Vitor |
Posted: Mon May 24, 2010 3:41 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
brianb wrote: |
Now I would think the System DLQ is not really the place to deposit the message and there is no DLQH on
BOTHRESH(3) +
BOQNAME('SYSTEM.DEAD.LETTER.QUEUE') |
You certainly wouldn't do that. But as indicated above, WMB contains code so that any message which does end up on the DLQ has a DLQH (for instance if there's a unhandled abend & no backout queue, the message dead letters with a 65001 code.
brianb wrote: |
The IBM manual states to use the DLQ and does not mention that you could or should do it another way. |
Then raise a PMR to have the documentation rewritten in a clearer way.
brianb wrote: |
My preference would be to put it in an application queue and have either a DLQH or monitor on it and from an admin perspective have the app guys handle it. |
It's much better to define a local queue and use that as a backout queue. Note that messages in this queue will not have a DLQH on it.
Slightly off topic, consider not using SYSTEM.DEAD.LETTER.QUEUE as the dead letter queue. Or at least review the discussions on this forum about using or not using it. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
fatherjack |
Posted: Mon May 24, 2010 11:26 pm Post subject: |
|
|
 Knight
Joined: 14 Apr 2010 Posts: 522 Location: Craggy Island
|
bruce2359 wrote: |
Nope. WMQ does nothing with poison messages. |
Sorry, just to clarify, I was just quoting from fjb_saper and like him I meant
fjb_saper wrote: |
the standard API's/application delivered by IBM will make that happen (JMS, WMB, WAS, etc...) without developer coding. |
Hence my statement
fatherjack wrote: |
In limited cases only. |
I just meant that this messages going to the DLQ does not happen by default.
I'd still be interested in what fjb_saper's 'etc.' includes. _________________ Never let the facts get in the way of a good theory. |
|
Back to top |
|
 |
|