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 » WebSphere Message Broker (ACE) Support » propagate the environment

Post new topic  Reply to topic
 propagate the environment « View previous topic :: View next topic » 
Author Message
KIT_INC
PostPosted: Thu Oct 20, 2011 8:40 am    Post subject: propagate the environment Reply with quote

Knight

Joined: 25 Aug 2006
Posts: 589

The environment is WMB V6.1 CSD 8
In a compute node I have
SET OutputRoot = InputRoot;
SET OutputLocalEnvironment.TIME = 'T1';
propagate to TERMINAL 'out1' ENVIRONMENT OutputLocalEnvironment;

The compute node terminal 'out1' is wired to a MQOUTPUT node

However only see the Input message in the MQ output queue

Is "propagate to TERMINAL 'out1' ENVIRONMENT OutputLocalEnvironment; " suppose to propagate what is stated in ENVIRONMENT only ?

"
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Oct 20, 2011 8:51 am    Post subject: Re: propagate the environment Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

KIT_INC wrote:
Is "propagate to TERMINAL 'out1' ENVIRONMENT OutputLocalEnvironment; " suppose to propagate what is stated in ENVIRONMENT only ?


What does the documentation say about that clause?

KIT_INC wrote:
However only see the Input message in the MQ output queue


Where in the documentation does it say that the MQOuput node uses the LocalEnvironment tree as any part of the WMQ message body?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Thu Oct 20, 2011 9:09 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

You should use 'Environment' rather than 'LocalEnvironment' to maintain your timings.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Thu Oct 20, 2011 9:58 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

lancelotlinc wrote:
You should use 'Environment' rather than 'LocalEnvironment' to maintain your timings.


Would that help with the OP's problem? That the TIME variable (which appears to be a character constant rather than a timestamp) is not appearing in the output message?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
KIT_INC
PostPosted: Thu Oct 20, 2011 10:06 am    Post subject: Reply with quote

Knight

Joined: 25 Aug 2006
Posts: 589

Sorry Vitor, I did not actually let the flow run to completion. I use debug to stop the flow at the out1 terminal. I saw the output root which is a copy of the Input root as the result of the SET OutputRoot = InputRoot;. So I said the output message on the queue is only my input message.
I am not sure if my understand is correct, I think propagate should only propagate what is specified in MessageSources clauses. So I did not expect to see outputroot there. It almost looks like that the broker did not recognise the MessageSources clauses specified and go ahead to propagate the outputRoot as default. unfortunately there is no example in the Info center on how to code the statement.
I need to propage a special value instead of the outputroot at a point within the compute node. That's why I am testing this.

Hi lancelotlinc, the info center says
The values that you can specify in MessageSources clauses are:
ENVIRONMENT :
InputLocalEnvironment
OutputLocalEnvironment

I tried with
propagate to TERMINAL 'out1' ENVIRONMENT Environment.Variables
But this failed on deplyment. That why I follow the info center and do
ENVIRONMENT OutputLocalEnvironment

Since I just want to propagate a value, not the entire OutputLocalEnvironment , I tried
SET OutputLocalEnvironment.TIME = 'T1';
propagate to TERMINAL 'out1' ENVIRONMENT OutputLocalEnvironment.T1;
It failed to deploy also.
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Thu Oct 20, 2011 10:12 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

Being Minnesotan Nice,

A guy could if a guy wanted to

COMPUTE node 1:

Code:
CREATE LASTCHILD OF Environment.Variables.ProjectData DOMAIN('XMLNSC') NAME 'XMLNSC';
Set Environment.Variables.ProjectData.XMLNSC.<TaskId>.StartTime = CURRENT_GMTTIMESTAMP;


Compute node 2:

Code:
Set Environment.Variables.ProjectData.XMLNSC.<TaskId>.EndTime = CURRENT_GMTTIMESTAMP;
Set Environment.Variables.ProjectData.XMLNSC.<TaskId>.ElapsedTime = ( CAST ( Environment.Variables.ProjectData.XMLNSC.<TaskId>.EndTime AS TIME ) - CAST ( Environment.Variables.ProjectData.XMLNSC.<TaskId>.StartTime AS TIME )) SECOND;


And to directly address the OP's request, call out to Java jar to get time values rather than use ESQL's time values.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Thu Oct 20, 2011 10:42 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

KIT_INC wrote:
It almost looks like that the broker did not recognise the MessageSources clauses specified and go ahead to propagate the outputRoot as default. unfortunately there is no example in the Info center on how to code the statement.


No it probably doesn't recognise that clause because while there isn't an example, there is a syntax diagram & your code doesn't match it. It also doesn't propagate OutputRoot as default:

Quote:
If there is no MessageSources clause, the node's Compute mode property is used to determine which messages are propagated


I imagine you have the property set to message.

KIT_INC wrote:
I need to propage a special value instead of the outputroot at a point within the compute node. That's why I am testing this.


Which is all very well and this will do that once you get it working. It doesn't alter the fact that if you propagate the LocalEnvironment tree (or anything other than the Message tree) to an MQOutput node, that node will not use it as the body of a WMQ message.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Oct 20, 2011 10:46 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

lancelotlinc wrote:
A guy could if a guy wanted to


He could, but how would this help the OP? Again you seem to be answering the question you think is being asked.

lancelotlinc wrote:
And to directly address the OP's request, call out to Java jar to get time values rather than use ESQL's time values.


The OP's request is about propagating non-message trees; nothing to do with values (which are a character constant).

As to calling out to Java for time values, that's all very well if you really want the actual times (as the earlier poster today who wanted to timestamp trace). The ESQL time values are perfectly usable and deliberately return consistent (and therefore not always the exact time) values through the life of a node for good & sufficent reason.

Each has their place based on requirement.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
rekarm01
PostPosted: Thu Oct 20, 2011 3:11 pm    Post subject: Re: propagate the environment Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 1415

KIT_INC wrote:
I am not sure if my understand is correct, I think propagate should only propagate what is specified in MessageSources clauses.

No. When a Compute node propagates a message, it always propagates four trees:
  • either InputRoot or OutputRoot
  • either InputLocalEnvironment or OutputLocalEnvironment
  • either InputExceptionList or OutputExceptionList
  • Environment
For each of the Input or Output trees, if the MessageSources clause does not specify which one to propagate, then the 'Compute Mode' property does.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu Oct 20, 2011 4:36 pm    Post subject: Re: propagate the environment Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

rekarm01 wrote:
KIT_INC wrote:
I am not sure if my understand is correct, I think propagate should only propagate what is specified in MessageSources clauses.

No. When a Compute node propagates a message, it always propagates four trees:
  • either InputRoot or OutputRoot
  • either InputLocalEnvironment or OutputLocalEnvironment
  • either InputExceptionList or OutputExceptionList
  • Environment

The distinction between an unpropagated tree and a tree that is NULL is left as an exercise.
Back to top
View user's profile Send private message
KIT_INC
PostPosted: Fri Oct 21, 2011 7:45 am    Post subject: Reply with quote

Knight

Joined: 25 Aug 2006
Posts: 589

Hi mqjeff, you said
No. When a Compute node propagates a message, it always propagates four trees:
either InputRoot or OutputRoot
either InputLocalEnvironment or OutputLocalEnvironment
either InputExceptionList or OutputExceptionList
Environment

This is what I have observed. Thanks for the confirmation.

But now I am confused on what's the use of the MessageSources clauses on a propagate. Can anyone help ?
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Oct 21, 2011 7:52 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

KIT_INC wrote:
Hi mqjeff, you said
No. When a Compute node propagates a message, it always propagates four trees:
either InputRoot or OutputRoot
either InputLocalEnvironment or OutputLocalEnvironment
either InputExceptionList or OutputExceptionList
Environment

This is what I have observed. Thanks for the confirmation.

But now I am confused on what's the use of the MessageSources clauses on a propagate. Can anyone help ?


Possibly to override the node's default settings?
I don't think it's asking for a location of said tree part.
So what you were trying to do will not work.
The whole specified tree is getting propagated
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
rekarm01
PostPosted: Fri Oct 21, 2011 8:08 am    Post subject: Re: propagate the environment Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 1415

fjb_saper wrote:
Possibly to override the node's default settings?



The purpose of the MessageSources clause is to override the node's default settings, as specified by its Compute Mode property:

rekarm01 wrote:
For each of the Input or Output trees, if the MessageSources clause does not specify which one to propagate, then the 'Compute Mode' property does.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Oct 21, 2011 8:45 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

KIT_INC wrote:
Hi mqjeff, you said

No, that wasn't me.
Back to top
View user's profile Send private message
KIT_INC
PostPosted: Fri Oct 21, 2011 11:06 am    Post subject: Reply with quote

Knight

Joined: 25 Aug 2006
Posts: 589

Thanks a lot for all the help.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » propagate the environment
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.