Author |
Message
|
Israk17 |
Posted: Mon Mar 24, 2008 10:03 am Post subject: Expiry |
|
|
 Novice
Joined: 13 Mar 2008 Posts: 12
|
Hi everybody:
I have a question about MQMD's element "Expiry". On my flow there are two nodes: MQOutput and MQInput. The fisrt recieve a request message which is taken by the queue on the T24 system. The second receive a response message from T24.
So, I want to use Expiry element to control timelife of the message into MQInput node.
I don't know if I declare Expiry on the compute node before MQOutput I can control lifetime of the message.
Sorry with my faults on the wirtten post.
I hope to be clear.
Thanks a lot for your help.
Greetins from Mexico city.
Israk. |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon Mar 24, 2008 10:18 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Refer to the WMQ Application Programmers Reference for all the details.
Briefly, Exipry for a message is the total time the message lives on any/every queue. When the expiry interval is reached, the message will not be available for any program. _________________ 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 |
|
 |
jefflowrey |
Posted: Mon Mar 24, 2008 10:23 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
bruce2359 wrote: |
Refer to the WMQ Application Programmers Reference for all the details. |
And the documentation on the MQOutput node. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Israk17 |
Posted: Mon Mar 24, 2008 10:26 am Post subject: Ok, thanks |
|
|
 Novice
Joined: 13 Mar 2008 Posts: 12
|
Thanks a lot, I'll check the referenced mentioned. |
|
Back to top |
|
 |
Israk17 |
Posted: Thu Apr 17, 2008 3:01 pm Post subject: How Expiry stops working ? |
|
|
 Novice
Joined: 13 Mar 2008 Posts: 12
|
Hi again. I have been working with expiry and there is something strange.
After setting MQMD.Expiry in the compute node, the message is put on a remote queue and expiry starts the countdown. Another system gets the message, process it and returns a reply to a local queue. Here everything is ok.
Expiry does not stop the countdown and if the message is not released from the local queue, then it is removed.
Does someone knows why the expiry still working after the message was released from the remote queue ???
I need that Expiry stops working in the local queue, after receiving the reply because It could be possible that the message in the local queue stays there and be removed.
So It is necessary that the message continue its way on the flow.
Thanks so much for your replies.
[/b] _________________ "Believe that you can do it ..." |
|
Back to top |
|
 |
PeterPotkay |
Posted: Thu Apr 17, 2008 3:16 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
If a message is sitting in a local queue, MQ will count down the expiry. There is nothing you can do about that. Its working as designed. If you don't want the message to expire away set a bigger expiry value. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
Israk17 |
Posted: Thu Apr 17, 2008 3:46 pm Post subject: |
|
|
 Novice
Joined: 13 Mar 2008 Posts: 12
|
THANKS PeterPotkay.
I was testing with MQMD.Report and the problem with the Expiry is solved.
When the local queue receives from the other system, the countdown of the Expiry finishes and the message is removed but It generates a message report which is putting in the same local queue and the correlation id is passed in order to reply correctly.
I did this:
SET OutputRoot.MQMD.ReplyToQ = T24_Q_PAGONEPE_RESP;
SET OutputRoot.MQMD.Expiry = 100;
SET OutputRoot.MQMD.Format = MQFMT_STRING;
SET OutputRoot.MQMD.Report = MQRO_EXPIRATION_WITH_FULL_DATA + MQRO_PASS_CORREL_ID;
On the last line is the key. It allows that local queue has a copy of the message after it is removed.
Greatings from Mexico City  _________________ "Believe that you can do it ..." |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Apr 17, 2008 5:16 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Some definitions:
a local queue is the only queue that can hold messages. All other queue-types are definitions that resolve to local queues.
a remote definition is a definition that resolves to a transmission queue. a transmission queue is a local queue on the sending (requesting) platform.
a message sent to a downstream (replying) queue manager arrives on a local queue, either the local queue named in the remote definition or the dead-letter queue.
Expiry is the total time on any local queue anywhere in the network. _________________ 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 |
|
 |
|