Author |
Message
|
carolhara |
Posted: Mon Feb 09, 2009 5:28 am Post subject: Who got my message? |
|
|
Acolyte
Joined: 02 Oct 2007 Posts: 56
|
Hello.
Through a COD msg, is there anyway I can find out which application got my message? How?
Thank you. |
|
Back to top |
|
 |
Vitor |
Posted: Mon Feb 09, 2009 5:50 am Post subject: Re: Who got my message? |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
carolhara wrote: |
Through a COD msg, is there anyway I can find out which application got my message? How? |
This is an odd question to ask, and I believe the answer to be no. Given that WMQ will deliver a message to a specified queue, how can it be anything other than the application designed to read messages from that queue?
AFAIK the COD message just says the message has been read off. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
carolhara |
Posted: Mon Feb 09, 2009 6:08 am Post subject: |
|
|
Acolyte
Joined: 02 Oct 2007 Posts: 56
|
But what if more than one application take messages from that queue and the Correlid was not set?
If not through CODs, is there any other way?
Thanks. |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon Feb 09, 2009 6:18 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
But what if more than one application take messages from that queue and the Correlid was not set? |
I'm confused with "...and the Correlid was not set"
Are you asking if you can determine (prove) which message was consumed by a which application program? And does the COD provide this?
Is this one of those 'the auditors want...' thingies?
With appropriate security in place, you can limit which users/groups have authorization to mqget from a given queue. _________________ 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 |
|
 |
mqjeff |
Posted: Mon Feb 09, 2009 6:21 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
carolhara wrote: |
But what if more than one application take messages from that queue |
It's not clear that there's any reason that "more than one" application should get messages from the same queue.
One case where you might have that is where a "business support" application (like an *application* management web tool) might read the queue to examine and handle poison messages.
But in general, every application should have it's own queue. |
|
Back to top |
|
 |
Vitor |
Posted: Mon Feb 09, 2009 6:34 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
carolhara wrote: |
But what if more than one application take messages from that queue and the Correlid was not set? |
Then your design has some serious issues.
If you have applications which are not reading a specific reply by CorrelId then they have to accept they're going to get the first message off the queue. Hence (logicially) they have to be able to process every possible message type or they will abend, roll the message back and you'll have a poison message situation.
If you have more than one application of the same type that reads a queue, why would you want to know which specific instance is processing a given message? What does this gain you?
(You don't work with vijay_s_s do you??) _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon Feb 09, 2009 6:36 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
I suppose that there might be multiple instances of the same consuming server application servicing the same queue.
A client (account) asked me if there was a way to determine which instance consumed which message. As it turned out, the request came from an auditor who thought it would be cool and satisfy Soxley at the same time. I don't see any practical reason.
Given appropriate security, and that a well-behaved application should be able to handle missing or duplicated request/reply messages, the question of which instance of the exact same application did/did not consume and reply to which message seems pointless.
But I'm open to new ideas. _________________ 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: Mon Feb 09, 2009 6:42 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
bruce2359 wrote: |
A client (account) asked me if there was a way to determine which instance consumed which message. As it turned out, the request came from an auditor who thought it would be cool and satisfy Soxley at the same time. I don't see any practical reason. |
Exactly my point above. Especially if you've got any kind of mechanism for balancing number of applications against queue depth. Or if you're using clustering.
bruce2359 wrote: |
I'm open to new ideas. |
Likewise. I hear many new ideas every day. I wish more of them were good ideas...  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Mr Butcher |
Posted: Mon Feb 09, 2009 7:04 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
If the message was persistent, and if you use z/Os and have the log archive available, you are able to tell which user / job / transaction got the message (at least i know how to find out from my working experience).
practical reason is a different story. Of course this is not a practical way to do it just for information or statistic reaons, on the other hand ... when i am asked to find out where the bank transfer of xxx million euros has gone (this happens very rarely, but it happens), there is no way discussing about practical reason. In that case i must find out....... _________________ Regards, Butcher |
|
Back to top |
|
 |
kevinf2349 |
Posted: Mon Feb 09, 2009 7:09 am Post subject: |
|
|
 Grand Master
Joined: 28 Feb 2003 Posts: 1311 Location: USA
|
Mr Butcher wrote: |
... when i am asked to find out where the bank transfer of xxx million euros has gone (this happens very rarely, but it happens), there is no way discussing about practical reason. In that case i must find out....... |
CEO bonus is my bet  |
|
Back to top |
|
 |
Vitor |
Posted: Mon Feb 09, 2009 7:10 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Mr Butcher wrote: |
when i am asked to find out where the bank transfer of xxx million euros has gone (this happens very rarely, but it happens), there is no way discussing about practical reason. In that case i must find out....... |
And on this you look in the application logging. It's still not relevant which instance of the application sent the xxx million euros to the wrong bank account.
And is a different question to the more common "we sent a xxx million bank transfer and it never arrived at any application" question, where you'd look in xmitqs, dlqs, etc, etc, etc. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Mr Butcher |
Posted: Mon Feb 09, 2009 7:15 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
unfortunately it can not be found in the application logging, thats why i have to check the MQ transaction log. but i agree, which instance of the application is not very relevant, it is more a matter of proving, that the message either did not hit our MQSeries (was never sent) or - if so - was consumed by the application and not "lost by MQ" (some people never trust). _________________ Regards, Butcher |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon Feb 09, 2009 7:25 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
How to audit a computer application causes substantial anxiety among auditors. Auditing was dramatically easier with mechanical adding machines and paper tape.
If a detailed audit trail is required, then the applications should keep track of msgids sent, msgids received, including date and time, application name, userid, and whatever else seems appropriate. With retained linear logs, it is possible to demonstrate that we could find matching msgs.
I'm thinking that asking which instance of the same program processed a message is like asking which printer printed my paycheck. When I posed this to an auditor, he said these were entirely different; although he was unable to explain why. _________________ 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: Mon Feb 09, 2009 7:27 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Mr Butcher wrote: |
it is more a matter of proving, that the message either did not hit our MQSeries (was never sent) or - if so - was consumed by the application and not "lost by MQ" (some people never trust). |
I turn the question on it's head; I don't prove the message did not hit WMQ, but call upon the application to prove that it did. If they can't show me an application log with a successful put in it, I don't investigate. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Mr Butcher |
Posted: Mon Feb 09, 2009 7:44 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
Quote: |
If they can't show me an application log with a successful put in it, I don't investigate. |
no it is not that easy. what if the put iwas done by an external customer? would you call your customer asking - "hey, did you send us the xxx million euro, or did we lose it in the application or somewhere else?"
of course you would not. i agree with all of you who say that the application should take care about all audit requirements and that all this information should be visible in the application log, but in these rare moments they do not find it in their logs. and we do not talk about 10 euros here, we really talk about millions. many millions. and there are deadlines this has to be transfered. and they do not want to pay the interest because they failed the transfer.
and in this situation, will you really start to discuss? i will not. _________________ Regards, Butcher |
|
Back to top |
|
 |
|