Author |
Message
|
Dhinesh S V |
Posted: Sun Oct 17, 2010 4:34 am Post subject: Reg: Backout threshold of MQJMS binded Queue |
|
|
Newbie
Joined: 17 Oct 2010 Posts: 8
|
Hi ,
I am using MQJMS binded Queue to connect from my Weblogic application to MQ Queue
My scenario is. . when there is an exception in my application it starts rolling back the message and starts picking it up again repeatedly. But after certain retries it starts trying to put the message to a DeadLetterQueue(with a reason that Backout threshold has been reached)
There is no BOTHRESH/Backout Queue configured for the MQ Queue.
Why is it happening when the bothresh value is set to 0
I read it from a link that in some environments the Backout threshold value of MQJMS binded Queue is 20 by default
" On some platforms, you cannot specify the threshold and requeue queue properties. On these platforms, messages are sent to the dead-letter queue, or discarded, when the backout count reaches 20 "
If it is ryt, How to override this value ? ?
Please help . . .
Thanks in advance |
|
Back to top |
|
 |
fjb_saper |
Posted: Sun Oct 17, 2010 7:45 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
It looks like you have a different problem that you may not be totally aware of.
Your basic question should be: "How do I handle a poison message"
All your answers will be clear once you have determined the solution to that question.
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Dhinesh S V |
Posted: Sun Oct 17, 2010 11:50 pm Post subject: |
|
|
Newbie
Joined: 17 Oct 2010 Posts: 8
|
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Oct 18, 2010 9:35 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
For an alias queue the bothresh you should look at is the bothresh of the target queue.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Dhinesh S V |
Posted: Wed Oct 20, 2010 9:15 am Post subject: |
|
|
Newbie
Joined: 17 Oct 2010 Posts: 8
|
Hi fjb_saper,
I checked the BOTHRESH and BackOutRequeue of the target Queue.
It is set to 0 and no BackOutRequeue has been defined for the Queue.
But still my weblogic application starts searching for DLQ after certain retries?
Then , I decompiled the MessageConsumer.class from com.ibm.mq.mqjms.jar (from the Exception)
here , i found the backout threshold is hardcoded to 20 and is changed after inquiring from the MQQueue.
Also the MQ Queue has inq authorisations for the weblogic user
I am trying to access this Queue from weblogic through etcclient. Will that have any diffference? |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Oct 20, 2010 11:53 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
No the hard coded threshold is to protect you from a poison message should you have forgotten to configure for it. As there is no boqueue defined the message will be put to the DLQ.
You should seriously review your poison message strategy.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|