Usha
 
provided that your application has built the segments using the same rules as MQ segments the message, you should _not_ have to read each segment individually.  An MQGET with options including mqgmo_all_msgs_available should cause the qmgr to reassemble your message and present it to your app as a single message.
 
MQGMO_COMPLETE_MSG is supported from Java client, provided the qmgr you are connecting to supports it.
 
The first thing I would check would be that your three segments all have the same GroupId (they need to have), but apart from that you need to check the MQMDE fields carefully.
 
Regards
Darren.
----- Original Message -----
Sent: Wednesday, October 15, 2003 8:07 PM
Subject: Re: MQ Series Segmentation

Hi Arun,

        Thanks for the info, are you saying that i *have* to loop through till i get all the segments ?? I was under an impression that issuing one MQGET should reassemble all the segments and give me one single final message..

- Usha


At 10:05 AM 10/15/2003 -0700, you wrote:
HI Usha
 
I have used segmentation but only in Server to Server to scenario.
 
MQPUT
PMO MQPMO_LOGICAL_ORDER
MD MQMF_SEGMENT (all 3 segments)
MQMF_LAST_SEGMENT (last segment )

 
MQGET
1.  Instead of   GMO MQGMO_COMPLETE_MSG I have used following options

GMO MQGMO_LOGICAL_ORDER + MQGMO_ALL_SEGMENTS_AVAILABLE + MQGMO_WAIT;
2. MD No options set:
In this case if You have to re-set msg-id and correl id ,  when you loop through all the segments in the queue
to receive all the segments.
 
messageId      = MQMI_NONE;
correlationId   = MQCI_NONE;
 
This worked for me in Server to Server case. try it with client-server and let us know how it works.
 
Arun Makhija
Never argue with an idiot. They drag you down to their level and beat you with experience
-----Original Message-----
From: Usha Suryadevara [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, October 15, 2003 8:57 AM
To: [EMAIL PROTECTED]
Subject: MQ Series Segmentation

Greetings,

Have anyone used MQ segmentation ?

Is it possible to activate MQ segmentation in a client server scenario ? I mean between MQ client and MQ server.

This is what i am doing, say i have 3 segments,

MQPUT
PMO MQPMO_LOGICAL_ORDER
MD MQMF_SEGMENT (all 3 segments)
MQMF_LAST_SEGMENT (last segment )

MQGET
GMO MQGMO_COMPLETE_MSG
MD No options set

Also the Version number for MQMD to MQMD_VERSION_2.

Now when i put a message it segments it right, but when i do a MQGET it gets only the first segment, not the whole message. :(.

The documentation i was reading says that "QM upon receiving the segments reassembles it when an MQGET is issued.. ". Does this mean that the segments cannot be re-assembled if the receiving application is an MQ client ?

There is a work around that i can keep checking the for the
        mdDescriptor.MsgFlags = MQMF_LAST_SEGMENT
                        i think... didn't try this yet but might work.



Any information is appreciated.

Thanks in advance
Usha

Reply via email to