Author |
Message
|
MVO |
Posted: Tue Apr 15, 2003 6:17 pm Post subject: Environment and LocalEnvironment trees |
|
|
 Centurion
Joined: 09 Sep 2001 Posts: 131
|
Hi,
I'm using the above trees extensively in my message flows. They can get vary large, so I just wonder where these trees are kept during the execution of the message flow, in the system memory ?
Any info will be very appreciated.
Thanks
 |
|
Back to top |
|
 |
wmqiguy |
Posted: Wed Apr 16, 2003 9:30 am Post subject: |
|
|
 Centurion
Joined: 09 Oct 2002 Posts: 145 Location: Florida
|
Yes, they are in memory. I have created message flows that use LocalEnvironment extensively. When you design them, make sure that you only carry the data you need from node to node. If not, remove it as soon as possible.
An extreme example (for illustration only), would be if you were copying the full, original message from node to node in LocalEnvironment. You would essentially be doubling the size of the message being processed. Dump the dead wood whenever you get the chance. |
|
Back to top |
|
 |
kirani |
Posted: Wed Apr 16, 2003 10:11 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
I'd also recommend you to use Environment tree instead of LocalEnvironment tree. Whenever you manipulate LocalEnvironment tree WMQI will make a new copy of that tree into the memory, so more memory will be consumed by the broker. For single UOW there is one single copy of Environment tree maintained by the broker. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
MQGuy2000 |
Posted: Fri Feb 03, 2006 3:12 pm Post subject: Env Tree and Local Env Tree |
|
|
Centurion
Joined: 20 Jul 2003 Posts: 131
|
Guys, I have a doubt about the Env/Local Env Trees and how they are used. Any feedback is appreciated.
What I Understand is that the Env Tree is used as a Global Tree and the LocalEnv Tree like a Local Tree.
So if a Messageflow uses Env Tree to store variables and these variables accessed by other nodes, will it not cause data integrity problems as multiple threads might be running the MesageFlow?
Or is it the case that One MessageFlow (in a Execution Group) is executed by 1 thread/process at any given time?
Thanks |
|
Back to top |
|
 |
wschutz |
Posted: Fri Feb 03, 2006 3:39 pm Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Each execution instance gets its own copy of Environment and LocalEnvironment. They are not shared across threads, execution groups or brokers.
Broker V6 introduces a new type of variable: SHARED, that can be shared amongst thread and instances of a message flow. _________________ -wayne |
|
Back to top |
|
 |
EAI Developer |
Posted: Mon Feb 06, 2006 9:35 am Post subject: |
|
|
 Centurion
Joined: 30 Nov 2005 Posts: 101 Location: US
|
Hi All,
I have an extension to this topic.My question is what is the exact need of outputlocalenvironment tree and in which situation it is used?
I know we will use this tree in Route to Label node in MB.
Thanks in advance,
Raj. |
|
Back to top |
|
 |
JT |
Posted: Mon Feb 06, 2006 9:40 am Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
|
Back to top |
|
 |
EAI Developer |
Posted: Mon Feb 06, 2006 10:21 am Post subject: |
|
|
 Centurion
Joined: 30 Nov 2005 Posts: 101 Location: US
|
Hi JT,
I did understood about LocalEnvironment tree and why we will set Destination List as the Destination Mode in MQOutput after reading the links give by u,but i hardly got the answer to my question.
So can u tel me when we will use outputlocalenvironment ?
thanks in advance,
Raj. |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Feb 06, 2006 10:42 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You use OutputLocalEnvironment in compute nodes when you need to set elements in the LocalEnvironment tree.
You use the LocalEnvironment tree when you need to - for example when the next node is looking for information there - or when you don't want to use the Environment tree, perhaps because you don't want to overwrite data that's there.
You use either Enviroment or LocalEnvironment because there isn't a way in ESQL/Java to create a new logical message tree. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
mgk |
Posted: Mon Feb 06, 2006 3:20 pm Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Hi,
Quote: |
You use either Enviroment or LocalEnvironment because there isn't a way in ESQL/Java to create a new logical message tree. |
You can create new trees in V6, as that is what variables of type ROW are.
You can have as many of them as you like, and they can even be SHARED! However, they can't be passed from node to node like the other built-in trees, but they can be used from different nodes if they are SHARED.
Regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions.
Last edited by mgk on Tue Feb 07, 2006 2:01 am; edited 1 time in total |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Feb 06, 2006 4:58 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
mgk wrote: |
You can create new trees in V6, as that is what variable of type ROW are. |
I knew v6 was going to bite me on this response. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|