Author |
Message
|
jeevan |
Posted: Mon Jun 01, 2009 11:44 am Post subject: Capturing realtime expiry message to a file |
|
|
Grand Master
Joined: 12 Nov 2005 Posts: 1432
|
I could not see a features in MQ suopport pac mo71 to copy a realtime message to a file. It does interativley, but I need automatic copyin the message before pickedup by a listener. Also, copying to another queue is not enough as the messages are expiry and the developer are not willing to do any changes at this point.
Is/are there any other support pac /third party free util to do that?
Thanks a lot |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon Jun 01, 2009 11:52 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Once a message has expired, it is no longer available to any MQGETting application. Is this what you want? _________________ 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 |
|
 |
jeevan |
Posted: Mon Jun 01, 2009 12:01 pm Post subject: |
|
|
Grand Master
Joined: 12 Nov 2005 Posts: 1432
|
bruce2359 wrote: |
Once a message has expired, it is no longer available to any MQGETting application. Is this what you want? |
No. I want to copy a message before it is picked up by a listener and put/write into a file. Does mo71 do that automaticallY ? I mean wihtout interatively choosing queue, message and etc?
thanks |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon Jun 01, 2009 12:12 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
If mean that you want a message arriving on a receiver channel to be captured to disk/tape before the receiving MCA puts it to the destination queue, you are looking at a channel exit to do what you want. _________________ 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 |
|
 |
jeevan |
Posted: Mon Jun 01, 2009 12:38 pm Post subject: |
|
|
Grand Master
Joined: 12 Nov 2005 Posts: 1432
|
bruce2359 wrote: |
If mean that you want a message arriving on a receiver channel to be captured to disk/tape before the receiving MCA puts it to the destination queue, you are looking at a channel exit to do what you want. |
Kind of. In fact the message is arriving through cluster.receiver channel. Also, the message is exapiry as I mentioned in my first posting.
thanks |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon Jun 01, 2009 12:46 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
Kind of. In fact the message is arriving through cluster.receiver channel. |
OK. Then you will need a channel exit on the cluster receiver MCA.
Quote: |
Also, the message is exapiry as I mentioned in my first posting. |
What do you mean that the message is expiry? Do you mean that the message has an expiry value (other than -1) in the MQMD? If so, then the messages will be available for MQGETting until the expiry value has elapsed. _________________ 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 |
|
 |
jeevan |
Posted: Mon Jun 01, 2009 12:58 pm Post subject: |
|
|
Grand Master
Joined: 12 Nov 2005 Posts: 1432
|
bruce2359 wrote: |
Quote: |
Kind of. In fact the message is arriving through cluster.receiver channel. |
OK. Then you will need a channel exit on the cluster receiver MCA.
Quote: |
Also, the message is exapiry as I mentioned in my first posting. |
What do you mean that the message is expiry? Do you mean that the message has an expiry value (other than -1) in the MQMD? If so, then the messages will be available for MQGETting until the expiry value has elapsed. |
yes, the message expires after certain time. That is why I want to capture the message and write to a file instead of putting it into another queue. |
|
Back to top |
|
 |
Vitor |
Posted: Mon Jun 01, 2009 1:14 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
jeevan wrote: |
yes, the message expires after certain time. That is why I want to capture the message and write to a file instead of putting it into another queue. |
Then you need an exit, and a fairly sophisticated one as it's in a cluster channel.
You also need to be very certain that any file write you do from this exit a) can't return any kind of file error or it'll kill the channel if not the cluster & b) has as little I/O delay as possible or it'll kill throughput.
My question is why you'd want to log this kind of message in this way. If the messages expire they clearly have a limited useful lifespan, and you can't use the log file as an audit - you've no way of knowing if the target application managed to process the message before it expired. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
WBI_User21 |
Posted: Mon Jun 01, 2009 1:16 pm Post subject: |
|
|
 Voyager
Joined: 12 Jun 2007 Posts: 98
|
Consider using mirror queue (exit).Mirror queue delivers the message to multiple destinations from one of mirror queues you can write into files |
|
Back to top |
|
 |
Vitor |
Posted: Mon Jun 01, 2009 1:46 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
WBI_User21 wrote: |
Consider using mirror queue (exit).Mirror queue delivers the message to multiple destinations from one of mirror queues you can write into files |
Assumes that all these messages are being delivered to a single queue on the queue manager, and would need to be installed on every queue manager on the cluster that's affected. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
jeevan |
Posted: Mon Jun 01, 2009 2:01 pm Post subject: |
|
|
Grand Master
Joined: 12 Nov 2005 Posts: 1432
|
Vitor wrote: |
jeevan wrote: |
yes, the message expires after certain time. That is why I want to capture the message and write to a file instead of putting it into another queue. |
Then you need an exit, and a fairly sophisticated one as it's in a cluster channel.
You also need to be very certain that any file write you do from this exit a) can't return any kind of file error or it'll kill the channel if not the cluster & b) has as little I/O delay as possible or it'll kill throughput.
My question is why you'd want to log this kind of message in this way. If the messages expire they clearly have a limited useful lifespan, and you can't use the log file as an audit - you've no way of knowing if the target application managed to process the message before it expired. |
Vitor,
Our team also comprises Tibco developer ( Integration). We are adding a new interface to one of our messages( so far it is coming from register as java client ), by introducing webservices and they (Tibco developers) want to see the existing message format when it arrives in the queue. So, this is not a permanent solution but we are looking for capturing a message and write to a file to see the format.
Therefore, we are not much worried about returning file IO error. if it writes one of the message successfully, that woudl be enough. We do have an alternative, asking the team to change expiry parameter to -1 and using support pac MS0R to copy the message in to another queue. But we are looking whether there are tools to capture message and write to a file so we do not need to ask changing the expiry parameters.
Thanks |
|
Back to top |
|
 |
jeevan |
Posted: Mon Jun 01, 2009 2:05 pm Post subject: |
|
|
Grand Master
Joined: 12 Nov 2005 Posts: 1432
|
WBI_User21 wrote: |
Consider using mirror queue (exit).Mirror queue delivers the message to multiple destinations from one of mirror queues you can write into files |
i think it only copies to another queue and then we have to dump into file. What we are looking for, if possible, to write directly to a file.
thanks |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Jun 01, 2009 2:22 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
And when will you look at the copied message in the other queue?
After it's expired?
If you need the message format either ask the sending app for a copy or do a test with a message that does not expire....
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Vitor |
Posted: Mon Jun 01, 2009 11:36 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
jeevan wrote: |
We do have an alternative, asking the team to change expiry parameter to -1 and using support pac MS0R to copy the message in to another queue. |
Much the simplest solution, as my most worthy associate points out. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
zpat |
Posted: Mon Jun 01, 2009 11:41 pm Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Another case for coding a simple MQI program that MQGETs from one queue and MQPUTs to another - it can set the expiry to -1 at the same time. |
|
Back to top |
|
 |
|