|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
why MQ is not returning error to the application? |
« View previous topic :: View next topic » |
Author |
Message
|
bruce2359 |
Posted: Mon Jan 05, 2009 6:59 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
...even if I am not catching other than MQException anywhere it means program will abnormally end. |
This is not true.
MQ will pass an exception (reason and completion code) to the application. It's up to the application to do something (or not) about the exception.
The application might abend if the code violates hardware or o/s rules; but MQ doesn't abend an application because it fails to recognize a 2033 reason code, for example. _________________ 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 Jan 05, 2009 12:43 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
bruce2359 wrote: |
Quote: |
...even if I am not catching other than MQException anywhere it means program will abnormally end. |
This is not true.
MQ will pass an exception (reason and completion code) to the application. It's up to the application to do something (or not) about the exception.
The application might abend if the code violates hardware or o/s rules; but MQ doesn't abend an application because it fails to recognize a 2033 reason code, for example. |
And what about NullPointerException and ClassCastException or ClassNotFoundException ???
They are all indicative of problems in your code / environment but will not get visible until you create that catch all  _________________ MQ & Broker admin |
|
Back to top |
|
 |
xhaxk |
Posted: Mon Jan 05, 2009 10:35 pm Post subject: |
|
|
Apprentice
Joined: 30 Oct 2008 Posts: 31
|
to return to the original subject of the post...
the AMQ7469 is issued asynchronously by some WMQ process when it discovers that the log file is getting full, not as a consequence of an MQI call, so in this case the app may not have been making an MQI call when the log was consolidated. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Jan 06, 2009 12:36 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
xhaxk wrote: |
the AMQ7469 is issued asynchronously by some WMQ process when it discovers that the log file is getting full |
Really?
xhaxk wrote: |
so in this case the app may not have been making an MQI call when the log was consolidated. |
Even assuming this, the queue manager will reference the log in reaction to most MQI calls. I also said (either in this thread or the other one) that the next MQI after this error would return a resource issue. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Jan 06, 2009 6:29 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
the AMQ7469 is issued asynchronously by some WMQ process when it discovers that the log file is getting full, not as a consequence of an MQI call, so in this case your app may not have been making an MQI call when the log was consolidated |
I made a small change to your statement.
Consider this: If your application makes no MQI calls (or only does so once every 10 minutes), then your application will not discover a reason or completion code (until ten minutes later) from the qmgr.
The same would be true for DB2 or other resource manager: no calls, no returns.
Like DB2 or Oracle, MQ is a resource (queue) manager, not a task (application) dispatcher. _________________ 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 |
|
 |
Vitor |
Posted: Tue Jan 06, 2009 6:34 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
bruce2359 wrote: |
Consider this: If your application makes no MQI calls (or only does so once every 10 minutes), then your application will not discover a reason or completion code (until ten minutes later) from the qmgr. |
To expand this point a little, you should not assume a failing application will be the first omen of a problem, or that all WMQ issues will result in an application error. There should also be proper monitoring of the queue manager to detect issues. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
belchman |
Posted: Thu Jan 08, 2009 10:47 am Post subject: |
|
|
Partisan
Joined: 31 Mar 2006 Posts: 386 Location: Ohio, USA
|
And to go further, if the issue is "Log Full", I would expect an exception would be reported at PUT time as opposed to GET time.
A guess, but I would not expect a "log full" exception when you do a get but I suppose its possible. _________________ Make three correct guesses consecutively and you will establish a reputation as an expert. ~ Laurence J. Peter |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Jan 08, 2009 12:35 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
A guess, but I would not expect a "log full" exception when you do a get but I suppose its possible. |
Gets, Puts, Comits, alterations to object attributes, checkpoints, and a small fleet of other things get logged. The qmgr detects log full when it attempts to log anything, and finds insufficient log space. _________________ 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 |
|
 |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|