Author |
Message
|
john7033 |
Posted: Tue May 15, 2007 8:03 am Post subject: MQ Series question about fundamental behavior |
|
|
Newbie
Joined: 15 May 2007 Posts: 2
|
I don't know what version we are using but it's only about 18 months old.
My organization is on one end on an MQ, and and we send messages to an MQ on the other end. The messages are certificates which are generated by an application on our side. The problem is that the recipient of our certificates claims that they receive some of them late. Naturally, the easiest way to address this issue is for the recipient to send some kind of ack to us when they receive our message. For a litany of absurd reasons, they refuse to do this.
My initial thought is that there has to be some kind of message sent by recipient's MQ so our MQ knows to delete the message from our outgoing queue. This may happen at a lower level, but how else would MQ know that the recipient got the message?
Is there a way to capture this message sent by the recipient's MQ? I would have thought that MQ could be configured to report this event somehow. There must be some kind of enhanced logging (debug maybe) that records all of MQ's activity.
Alternatively, would I be able to extract a log which shows when messages arrived on our queue and when they left our queue? Section 3.7.2 of the MQ Fundamentals redbook seems to suggest this is possible.
Our in-house MQ expert insists that none of this is possible. They may be correct, but I just can't believe that's the case. Can anyone tell me where I can look for this information?
TIA. |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue May 15, 2007 8:11 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
COA/COD report messages. Or expiry and expiration messages.
Also, there is no "late" on MQ. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
john7033 |
Posted: Tue May 15, 2007 8:28 am Post subject: |
|
|
Newbie
Joined: 15 May 2007 Posts: 2
|
jefflowrey wrote: |
COA/COD report messages. Or expiry and expiration messages.
Also, there is no "late" on MQ. |
By late, I mean that the certificate did not reach its destination within the time frame allowed. Our position is that if it hits our MQ inside the alotted time window, we aren't late. Our client insists some are late. If we had a log file that showed when they picked it up, the issue could be closed.
As to my questions, is it true that there is no way to do what I have described? |
|
Back to top |
|
 |
RogerLacroix |
Posted: Tue May 15, 2007 8:51 am Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Yup, been there done that many times.
The easiest solution is to use both COA & COD report messages and create a simple SLA database.
Here's what I would do / have done:
- Create a database with 6 or more columns: transaction key / name, MsgId, CorrelId (if non null), put time, COA time and COD time. You can use any DB. i.e. Oracle, MySQL, Cloudscape, ..
- For all messages sent to the 'client', set the COA & COD report options and set a 'Reply-To-Q' (if you are not using one).
- If you have a unique transaction key / id / name then store it in a MQMD field. Suggestions are: CorrelId or ApplicationIdData.
- If you don't have an application reading messages from the 'Reply-To-Q' then create one and it will:
- - Determine if the message is COA or COD.
- - Retrieve the necessary information from the MQMD
- - Insert a record into the DB.
Now when a client complains about delayed messages, you can search the DB for particular record and provide / prove if the transaction was truly late.
The best information is the difference in the message times between the COA and COD. Because it will tell you how long the message sat in THEIR queue before they picked it up.
There is nothing better than a client complaining and then you say 'but why did it sit in your queue for 4 minutes and 33 seconds'.
Regards,
Roger Lacroix
Capitalware Inc. _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
Michael Dag |
Posted: Tue May 15, 2007 9:42 am Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
RogerLacroix wrote: |
There is nothing better than a client complaining and then you say 'but why did it sit in your queue for 4 minutes and 33 seconds'. |
I fully agree with the above, but know of better samples from the past...
when I was working for IBM Global Network ('90s) we had a message exchange called IBM Information Exchange
customers would phone me shouting they couldn't get the messages from
their mailboxes and tried 30, 40 times for hours in a row...
the logging was pretty good and felt really good when I could see they only tried twice in 30 minutes and both attempts were with a wrong password...
now THAT felt good and the silence was defening at the other end...
BTW it had automatic message archiving too, so if sender and receiver disagreed about the content... it could act as an 'electronic' notary...
I don't long back to those days as technology has progressed so much,
but at the same time a lot of basic stuff was lost along the way...  _________________ Michael
MQSystems Facebook page |
|
Back to top |
|
 |
George Carey |
Posted: Tue May 15, 2007 12:19 pm Post subject: COA and CODs |
|
|
Knight
Joined: 29 Jan 2007 Posts: 500 Location: DC
|
Quick related question - are analogs to the COA and CODs options that are part of base MQ, available if application coders strictly using JMS api ? _________________ "Truth is ... grasping the virtually unconditioned",
Bernard F. Lonergan S.J.
(from book titled "Insight" subtitled "A Study of Human Understanding") |
|
Back to top |
|
 |
Michael Dag |
Posted: Tue May 15, 2007 12:27 pm Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
john7033 wrote: |
jefflowrey wrote: |
COA/COD report messages. Or expiry and expiration messages.
Also, there is no "late" on MQ. |
By late, I mean that the certificate did not reach its destination within the time frame allowed. Our position is that if it hits our MQ inside the alotted time window, we aren't late. Our client insists some are late. If we had a log file that showed when they picked it up, the issue could be closed.
As to my questions, is it true that there is no way to do what I have described? |
if you have an agreement they "should" pickup the message within a certain timeframe, you could use expiring messages with full report options, like Nigelg suggests here: http://www.mqseries.net/phpBB2/viewtopic.php?t=35768
the message is then sent back to you and you can "re-send" it and know the receiver was "late" aswell  _________________ Michael
MQSystems Facebook page |
|
Back to top |
|
 |
marcin.kasinski |
Posted: Tue May 15, 2007 12:29 pm Post subject: Re: COA and CODs |
|
|
Sentinel
Joined: 21 Dec 2004 Posts: 850 Location: Poland / Warsaw
|
|
Back to top |
|
 |
dhanaraj |
Posted: Tue May 15, 2007 12:42 pm Post subject: |
|
|
 Voyager
Joined: 10 Aug 2004 Posts: 92
|
Quote: |
we aren't late. Our client insists some are late. |
We had this kind of problem before.
It may be time sync issuse. u may need to do time syncronise to the source MQServer time to Destination MQ Server time or get the time stamp and send the ur message along with destination time stamp.
Thanks
Dhanaraj |
|
Back to top |
|
 |
|