MQ - Post messages in a group

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
ArjunK
Participant
Posts: 30
Joined: Sun Apr 30, 2006 6:32 pm

MQ - Post messages in a group

Post by ArjunK »

Hi,
Is it possible for Datastage to explicity post messages in a group using the MQ Plugin Stage. I looked around and wasnt able to find any options of doing that. The only reference to "Groupd Id" is avaialble while reading messages off the queue but nothing while writting them to the queue.

Thanks.
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

Can you describe more what you mean by a 'group'. There are varuous things you can do that might be described as grouping.
Ernie Ostic

blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
ArjunK
Participant
Posts: 30
Joined: Sun Apr 30, 2006 6:32 pm

Post by ArjunK »

Esentially we want to send chunks of XML messages to the consuming application , however, the application needs a way to know that all the messages are logiclly tied to each other (in a group). There is a concept of Group Id in MQ, but I am not sure if Datastage can send that with the actual XMl payload.
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

...are you still in 7.x ? The MQ Plugin isn't as flexible here, but with the 8.x MQ Connector, you can set the "Correlation ID"....this is a property in the MQ header that allows an application to logically group messages together..... That might be an option for you, if you are on release 8.......let me know and I can outline how to do it.

Ernie
Ernie Ostic

blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

...with the MQ Plugin, about the only way it could easily be done is with a value in the payload..... put a special value in the first couple of bytes to identify each "group" of logical messages.

Ernie
Ernie Ostic

blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
JRodriguez
Premium Member
Premium Member
Posts: 425
Joined: Sat Nov 19, 2005 9:26 am
Location: New York City
Contact:

Post by JRodriguez »

Arjunk,

Explicitly .. no, because the stage don't have the property, but you can pass the group id in a header and then handled it in MQ. This group id and any other column definitions representing the messages properties appear before any columns representing actual message data (payload) or XML chunk. How are you passing the Message Id? which is required by MQ too ..

I guess that you would like to pass also the MsgFlags to let MQ know when your are done with the group

By the way in version 8.1 you can do it explicitly, using the new MQ connector, which have this and a litany of other properties
Julio Rodriguez
ETL Developer by choice

"Sure we have lots of reasons for being rude - But no excuses
ArjunK
Participant
Posts: 30
Joined: Sun Apr 30, 2006 6:32 pm

Post by ArjunK »

Thanks Guys. Since we are still on 7.5 , we went with the approach of passing a Unique Group Id along with the Message itself. Using that the consuming app is able to identify which XML chunks(messages) are linked to each other.
Post Reply