ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » MQRFH2 header in TimerNodes

Post new topic  Reply to topic
 MQRFH2 header in TimerNodes « View previous topic :: View next topic » 
Author Message
cvag
PostPosted: Wed Sep 28, 2011 11:03 pm    Post subject: MQRFH2 header in TimerNodes Reply with quote

Centurion

Joined: 17 Mar 2008
Posts: 127

For that am trying with sample

My Scenario:
I have two flows
Main Flow
======
MQInput --> TryCatch --> Compute(DB Computation) --> MQOutput(SuccessQ)
TryCatch Node --> Try -->Compute(DB Computation)
Catch --> MQOutput (FailedQ)
Retry Flow:
=======
MQInput --> Compute (Setting TimeOut Request Message) --> TimeOut Control
This MQInput node QueueName is the Name of the MainFlow FailedQ

TimeOutNotification --> MQOutput
This MQOutput node QueueName is the Name of the MainFlow SuccessQ

For the failed messages i would like to check[Back Out with one of the UDP property] and retry for 3 attempts in the Retry Flow. If still fails and crossed the UDP value, i have to put that message into some X Queue.

Am saving the MQMD.BackoutCount in the Mainflow in the MQRFH2 header and passing this value to the Retry Flow
Code:

IF FIELDNAME(InputRoot.MQRFH2) IS NULL THEN
CREATE NEXTSIBLING OF OutputRoot.MQMD DOMAIN 'MQRFH2' NAME 'MQRFH2';
SET OutputRoot.MQRFH2.usr.TimeoutRequest.Retry = TRUE;
END IF;
         
IF InputRoot.MQRFH2.usr.TimeoutRequest.Retry = TRUE THEN
SET OutputRoot.MQRFH2.usr.TimeoutRequest.RetryCount = InputRoot.MQMD.BackoutCount + 1;
END IF;


IF InputRoot.MQRFH2.usr.TimeoutRequest.Retry = TRUE THEN
SET OutputRoot.MQRFH2.usr.TimeoutRequest.RetryCount = InputRoot.MQMD.BackoutCount + 1;
END IF;

Setting the UDP value to 3 in the Retry Flow and checking against the 'usr.TimeoutRequest.RetryCount' value.. and after checking if RetryCount is less than UDP value, i put trigger the message from TimeOutControl to TimeOutNotification for every 1min. And the same MQRFH2 header should pass to the MainFlow and get increased by the above code.

But i found one, the MQRFH2 header is not passing from TimeOutControl to TimeOutNotification, as MQMD. Am leaving the Stored Message location property of TimeOutControl as Blank, in order to pass the whole message.

Can anyone suggest, about the MQRFH2 header to pass.
Please help with any alternatives for retrying.

Thanks in Advance.
Back to top
View user's profile Send private message
cvag
PostPosted: Wed Sep 28, 2011 11:25 pm    Post subject: Reply with quote

Centurion

Joined: 17 Mar 2008
Posts: 127

Sorry, i could able to see..

Thats my mistake, am not passing.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » MQRFH2 header in TimerNodes
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.