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 » Problem with PROPAGATE statement

Post new topic  Reply to topic
 Problem with PROPAGATE statement « View previous topic :: View next topic » 
Author Message
wildtiger
PostPosted: Tue Nov 12, 2002 12:03 pm    Post subject: Problem with PROPAGATE statement Reply with quote

Acolyte

Joined: 21 Apr 2002
Posts: 55
Location: Canada

I just put the following ESQL statement in a compute node, which should generate 3 messages for each incoming message.

======
DECLARE i INTEGER;
Set i =1;
WHILE i <= 3 DO
SET OutputRoot =InputRoot;
SET OutputRoot.XML =NULL;
SET OutputRoot.XML.BookSold."Item"=i;
PROPAGATE;
SET i =i+1;
END WHILE;
RETURN FALSE;
======

It generated three messages. But they have the same message id and the content of the message are exactly same:

<BookSold><Item>1</Item></BookSold>

Have anybody else met the same problem? Can anyone tell me what's wrong with PROPAGATE statement?

Thanks in advance!

d
Back to top
View user's profile Send private message
amigupta1978
PostPosted: Wed Nov 13, 2002 12:22 am    Post subject: Reply with quote

Centurion

Joined: 22 Jan 2002
Posts: 132
Location: India

Hi,
I have tried propogate many times. It works fine.
Message Id for all the three messages will be same until u specify in MQOUTput node to generate message ID.
Just a lil thought abt the same body, how exactly r u viewing the message. Say if u r using some other utility (other than MQExplorer) which actually match the messageID of message then mite be for all the messages u view, its picking up the first message only.

Rgds
Amit
_________________
IBM certified MQseries Specialist
IBM certified WMQI Specialist
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
Yanghui
PostPosted: Wed Nov 13, 2002 2:17 am    Post subject: Reply with quote

Disciple

Joined: 08 May 2002
Posts: 151
Location: Dublin, Ireland

Hi, Wildtiger,

Hope you don't mind my curiosity.

I don't understand why you use

RETURN FALSE;

in your ESQL of a Compute node. I thought it's only for Filter node. Is this another way to force the outgoing msg go via Failure terminal of a Compute Node?

Thanks in advance.

-Yanghui
Back to top
View user's profile Send private message Send e-mail
wildtiger
PostPosted: Wed Nov 13, 2002 3:11 pm    Post subject: Reply with quote

Acolyte

Joined: 21 Apr 2002
Posts: 55
Location: Canada

Hi Amit,

I wrote a program to retrieve/browse messages in a queue. So I can see they have the same content (all OutputRoot.XML.BookSold."Item" has the same value "1"), same message id but individual messages.

Could u try this with the exact ESQL statements I did to see if it works?

Thanks,

d
Back to top
View user's profile Send private message
amigupta1978
PostPosted: Thu Nov 14, 2002 2:52 am    Post subject: Reply with quote

Centurion

Joined: 22 Jan 2002
Posts: 132
Location: India

Hi,
I am currently not having a ready 2.1 installtion so I cant test. But I am quite sure that Propagate worked fine.
Now U say u have made the program. Most likely there is a error there.

Ok say if u have java program and u then get messages in the loop, make sure that u set the MQMO.MATCHMessageOptions to None. Since what happens that when u get the messages in loop and u use that particular Message object to fetch the next message in loop, then MQseries mattches the MessageID unless u specify MQMO_NONE (match message option to None).
Can u send me ur reading program?


and Hi Yanghui,
return False here means that the compute node will not further transfer the message to the next node.

Regards,
Amit
_________________
IBM certified MQseries Specialist
IBM certified WMQI Specialist
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
wmqiguy
PostPosted: Thu Nov 14, 2002 6:11 am    Post subject: Reply with quote

Centurion

Joined: 09 Oct 2002
Posts: 145
Location: Florida

Thanks Amit!

I was not aware of that RETURN FALSE either. We were just making sure that the last message instance was not propagated. That little tidbit will make the code a bit less convoluted.

Again thanks!
Back to top
View user's profile Send private message
wildtiger
PostPosted: Thu Nov 14, 2002 12:43 pm    Post subject: Reply with quote

Acolyte

Joined: 21 Apr 2002
Posts: 55
Location: Canada

Yes Amit, you are right. Due to the same msg ids, so each time I retrieved message, I always got the 1st message. When I set the "new Msg Id" option on MQOutput node. It worked fine.

Thank you again,

David
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 » Problem with PROPAGATE statement
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.