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 Grouping Clarification

Post new topic  Reply to topic
 Message Grouping Clarification « View previous topic :: View next topic » 
Author Message
sclarke
PostPosted: Thu Aug 18, 2005 5:14 am    Post subject: Message Grouping Clarification Reply with quote

Apprentice

Joined: 05 Jan 2002
Posts: 39

I would like to clarify my understanding of message grouping and commit. I have never used message grouping before and am trying to gain understanding before proposing using it in a design.

1. Application will create messages with PMO option of first message in group and tag last message in group as appropriate plus MQPMO_LOGICAL_ORDER and MQPMO_SYNCPOINT so that all messages are part of a unit of work and defined as a part of a group.
2. Receiving application will have MQGMO_ALL_MSGS_AVAILABLE and MQGMO_LOGICAL_ORDER

Say the destination queue is a remote queue, the putting application will commit the UOW but a single message may for some reason end up on the DLQ or be delayed – in this case – what is physically committed to the destination queue and available to the application? Is it an impartial set of messages? Will that ‘group’ only be available to the mqget when it is actually 100% complete? What happens when the missing message finally arrives (say 1 hour later)? Does the receiving application bypass that group until it is complete?

Thank you in advance for any input……
Back to top
View user's profile Send private message
hopsala
PostPosted: Thu Aug 18, 2005 5:52 am    Post subject: Reply with quote

Guardian

Joined: 24 Sep 2004
Posts: 960

It all depends, really. If you MQGET by GroupID, with MQGMO_ALL_MSGS_AVAILABLE, and parts are missing, then you will get 2033 - MQRC_NO_MSG_AVAILABLE.
Once all msgs are in place, and you call another MQGET, you will get all msgs one by one, in the correct order (LOGICAL_ORDER).
So, until all msgs within the group are delivered, the receiving application gets nill. Only full groups will be delivered to the appl.

Keep in mind, that unless you know in advance the GroupId that you are going to receive, you always get the first msg without knowing anything; only after that you may get by groupid.

As per you other question about commits - when the sending appl works by syncpoint it only commits to the XMITQ, after that the msgs are, from the QM's point of view, completely independant; the channels have no idea these are parts of a logical group.

Best thing you could do, is try the scnearios out yourself. Download the put utility support pack, and start making experiments, this is the fastest way to learn.
Back to top
View user's profile Send private message
bower5932
PostPosted: Thu Aug 18, 2005 6:30 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Aug 2001
Posts: 3023
Location: Dallas, TX, USA

You could also look at putgroup.c and getgroup.c at:

http://www.developer.ibm.com/isv/tech/sampmq.html

if you are going to be playing around.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » Message Grouping Clarification
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.