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 » General IBM MQ Support » Message Segmentation

Post new topic  Reply to topic
 Message Segmentation « View previous topic :: View next topic » 
Author Message
KIARA
PostPosted: Fri Mar 05, 2004 8:06 am    Post subject: Message Segmentation Reply with quote

Newbie

Joined: 05 Mar 2004
Posts: 9

I have created a flow, to take msgs off a q. there are 3 types of msgs going to the q - header msgs, lines msgs and trailer msgs. I want the msgs to stay on the q until the flow receives the trailer msg. I have got the flow to do this.I have a second flow that I want to use to reassemble these 3 messages into 1. However as the 3 messages are on the input of this flow only the trailer msg(the last) msg makes it to the output. The first 2 msgs the header and lines msg disappear - they dont go to a fail q or a backout q
Does anyone have nay ideas on this please?
Back to top
View user's profile Send private message
EddieA
PostPosted: Fri Mar 05, 2004 8:46 am    Post subject: Reply with quote

Jedi

Joined: 28 Jun 2001
Posts: 2453
Location: Los Angeles

Moderator: This probably needs moving to the WMQI forum.

Kiara: How are you doing this. A flow will read a single message, and process it. When this flow ends, the message will be gone from the input queue. So, I am confused how you have 2 flows that you expect to read 3 messages. Or are you using the MQGet node.

Please give more details about how you are implementing this.

Cheers,
_________________
Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0
Back to top
View user's profile Send private message
KIARA
PostPosted: Tue Mar 09, 2004 2:39 am    Post subject: Reply with quote

Newbie

Joined: 05 Mar 2004
Posts: 9

Hi Eddie
What I am doing is on the first flow, all msgs pile up until the trailer message is received. These msgs then go to the output queue.

The output q of the 1st flow is the input q of the second flow, so 3 messages will sit on the input for flow 2. The 2nd flow is only an input to an output. Even though 3 messages sit on the input only 1 msg reaches the output.

I have checked all the options, so the message allows segmentation, and also knows when the last segment has arrived. But somehow it doesn't reasseble them into one message and only passes the last segment to the output. The 1st 2 segments disappear.(Not on failure / backout or DLQ)

To allow segmentation I have included code in a compute node
Set OutputRoot.MQMD.MsgFlags = MQMF_SEGMENT;
and for the last segment
Set OutputRoot.MQMD.MsgFlags = MQMF_LAST_SEGMENT;

I have found this option
MQGMO_COMPLETE_MSG
which I think should reassemble my message but I cannot find where to set this.It says to set on the node or the getting application. I dont have a getting app, for the moment I just want the reassembled msgs to sit on the output q. And I can find nothing that resembles this option on the output q.

I hope I am making this scenario clear.
Have you any more suggestions on how I could do this?
many thanks
kiara
Back to top
View user's profile Send private message
EddieA
PostPosted: Tue Mar 09, 2004 6:52 am    Post subject: Reply with quote

Jedi

Joined: 28 Jun 2001
Posts: 2453
Location: Los Angeles

Quote:
all msgs pile up until the trailer message is received

The only way you could do this, is to have the sending application put all the messages in a Group, and then use the 'All Messages Available' option. But, WMQI will still read the messages 1 by 1.

Quote:
and for the last segment
Set OutputRoot.MQMD.MsgFlags = MQMF_LAST_SEGMENT;

I thing that should really be: MQMF_SEGMENT + MQMF_LAST_SEGMENT. However, that won't solve your problem. Those flags are not the only pieces that are set when you segment a message. My guess (and ONLY a guess) is that WMQI has read the 3 messages, and because you have made it think that it's a segmented message, has tried to rebuild it. But, each segment says that it starts at offset 0. So, each piece will overlay the previous.

As far as MQGMO_COMPLETE_MSG goes. I think WMQI has this set on by default. After all, what use would a flow be if it received the 'complete' message as a series of pieces.

Maybe you could look at outputting the messages from the 1st flow via an Aggregate, and use that to get all the parts back.

Cheers,
_________________
Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0
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 » General IBM MQ Support » Message Segmentation
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.