|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Message tree manipulation |
« View previous topic :: View next topic » |
Author |
Message
|
sjaganna |
Posted: Sat Jun 06, 2009 2:24 pm Post subject: Message tree manipulation |
|
|
Novice
Joined: 20 Feb 2009 Posts: 16
|
I see that the broker message tree has LocalEnvironment and GlobalEnvironment in addition to the payload and the headers. What is the difference between between the two environment variables in terms of performance. I understand the usage difference ie GlobalEnvironment to be used to store data that is used throughout the message flow life cycle and LocalEnvironment for temporary data.
But many IBM guys have been telling that using these environment variables is very expensive in terms of performance and Global Environment has more performance impact. I am trying to understand what are the implications of using them?
Thanks
Srikanth |
|
Back to top |
|
 |
smdavies99 |
Posted: Sat Jun 06, 2009 11:23 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
The 'Environment' Tree is a very efficient way of holding things between nodes as there is no copying of folders as there is with the inputRoot/OutputRoot. This might be different for very large messages but as a general case, I think
this is the case.
I tend to use the environment folder for holding things like a copy of the unparsed original message (for error handling) and other variables. AFAIK, this is the MOST efficient way of holding this data.
I use the LocalEnvironment as temporary storage where following nodes need the data to be in this folder.(eg a destinationlist for an MQOutputNode.
From my experience I think the IBMers who are telling you that the Environment is an expensive way are incorrect and perhaps they should back up their assertions with facts so the the Hursley people who monitor this forum can comment. I'm sure that this also would be of great interest to many experienced Broker perople in this forum. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
rekarm01 |
Posted: Tue Jun 09, 2009 9:39 pm Post subject: Re: Message tree manipulation |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
sjaganna wrote: |
I see that the broker message tree has LocalEnvironment and GlobalEnvironment in addition to the payload and the headers. |
For each input message, a message flow creates a logical tree structure with four separate trees:- Root (or 'Message')
- Environment (or 'GlobalEnvironment')
- LocalEnvironment
- ExceptionList
Each tree consists of one or more elements.
sjaganna wrote: |
What is the difference between between the two environment variables in terms of performance. |
For each input message, a message flow creates exactly one Environment tree, but may create many LocalEnvironment trees; every time a compute node propagates an output tree instead of an input tree, it has to first build the output tree.
In most cases, using Environment instead of LocalEnvironment generates less elements, but not enough to really matter.
sjaganna wrote: |
I understand the usage difference ie GlobalEnvironment to be used to store data that is used throughout the message flow life cycle and LocalEnvironment for temporary data. |
No. Each input message has its own logical tree structure; trees do not survive from one input message to the next.
When a message flows backwards through the message flow, LocalEnvironment reverts to its previous state, while Environment does not. Message flows should store data in whichever tree exhibits the desired behavior.
sjaganna wrote: |
But many IBM guys have been telling that using these environment variables is very expensive ... |
Compared to ... what? How else would a message flow pass data from node to node, (including the message itself, by the way)?
Perhaps the many IBM guys were misquoted. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Jun 09, 2009 11:55 pm Post subject: Re: Message tree manipulation |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
sjaganna wrote: |
What is the difference between between the two environment variables in terms of performance. |
See also this thread (indirectly relevant and possibly useful)
http://mqseries.net/phpBB2/viewtopic.php?t=49395 _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|