Author |
Message
|
chenna.hari |
Posted: Thu Mar 11, 2010 7:57 pm Post subject: issue in timeoutcontrol and timeoutnotificaiton nodes |
|
|
Centurion
Joined: 21 Mar 2009 Posts: 103
|
I have designed two message flows
1)message flow is
MQ Input node --> timeoutcontrole node
TimeoutnotificationNode (controlled mode) --> MQOutput Node
The timeoutnotificaiton Node and timeoutcontrolnode unique identifier given as control
2)MQ Input node --> timeoutcontrole node
TimeoutnotificationNode (controlled mode) --> MQOutput Node
The timeoutnotificaiton Node and timeoutcontrolnode unique identifier given as control
And iam testing the following scenerio as
iam placing the timeoutrequest xml in MQinput in first message flow,
xml is <TimeoutRequest><Identifier>TEST</Identifier><Action>SET</Action><StartDate>TODAY</StartDate><StartTime>12:00:00</StartTime><Count>1</Count><Interval>86400</Interval><IgnoreMissed>TRUE</IgnoreMissed><AllowOverwrite>TRUE</AllowOverwrite></TimeoutRequest>
Can any one tell where can be the output will generate, whether MQOutput of first flow or MQOutput of second flow. |
|
Back to top |
|
 |
gs |
Posted: Fri Mar 12, 2010 5:27 am Post subject: Re: issue in timeoutcontrol and timeoutnotificaiton nodes |
|
|
 Master
Joined: 31 May 2007 Posts: 254 Location: Sweden
|
chenna.hari wrote: |
iam placing the timeoutrequest xml in MQinput in first message flow,
xml is <TimeoutRequest><Identifier>TEST</Identifier><Action>SET</Action><StartDate>TODAY</StartDate><StartTime>12:00:00</StartTime><Count>1</Count><Interval>86400</Interval><IgnoreMissed>TRUE</IgnoreMissed><AllowOverwrite>TRUE</AllowOverwrite></TimeoutRequest>
Can any one tell where can be the output will generate, whether MQOutput of first flow or MQOutput of second flow. |
I don't quite follow you here. You have two identical flows? On what queue do you put your message? Are you trying to to control the timeoutcontrol node through the payload or do you use an unmentioned node that creates the request in the LocalEnvironment? |
|
Back to top |
|
 |
chenna.hari |
Posted: Sat Mar 13, 2010 9:25 pm Post subject: |
|
|
Centurion
Joined: 21 Mar 2009 Posts: 103
|
two identical flows but queues are different say Q1 for first message flow and Q2 for second message flow,
Iam placing the timeoutRequest message in Q1.
where can i see the output message, say Q3 is outputQueue for first message flow and Q4 for second message flow.
whether Q3 connected to timeoutcontrolnode of first message flow will be sent message or
Q4 connected to timeoutcontrolnode of second message flow will sent message |
|
Back to top |
|
 |
mqjeff |
Posted: Sun Mar 14, 2010 9:29 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
If you have deployed two timeoutnotification nodes that are both using the same identifier (which I don't think you can deploy, actually), then the question is equivalent to "which MQGET will return a given message, when two applications are listening to the same queue for the same message".
The answer to that is "undefined". Sometimes one, sometimes the other. |
|
Back to top |
|
 |
chenna.hari |
Posted: Sun Mar 14, 2010 7:20 pm Post subject: |
|
|
Centurion
Joined: 21 Mar 2009 Posts: 103
|
but I have deployed two timeoutnotification nodes with same unique identifer in two different message flows,
How the message from timeoutcontrol node from the first message flow will be sent to timeoutnotification of the second message flow??? |
|
Back to top |
|
 |
smdavies99 |
Posted: Sun Mar 14, 2010 10:52 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
chenna.hari wrote: |
but I have deployed two timeoutnotification nodes with same unique identifer in two different message flows,
|
Then they are not unique anymore are they? _________________ 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 |
|
 |
mqjeff |
Posted: Mon Mar 15, 2010 2:48 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
TimeoutNotification nodes listen on a queue. They browse the queue looking for messages that belong to them. The identifier tells them which message belongs to them.
If two applications are reading a queue at the same time, it is undefined which one will get which messages. If one application is reading the same queue using two different handles, it is undefined which one will get which messages.
Because you're using the same (non)unique identifier, you can't even configure these two nodes to use different queues, unless you deploy your two flows to two different EGs AND you're using v7. |
|
Back to top |
|
 |
chenna.hari |
Posted: Mon Mar 15, 2010 6:53 pm Post subject: |
|
|
Centurion
Joined: 21 Mar 2009 Posts: 103
|
iam using MBv6.1,
as discussed, so we should not deploy two message flow containing timeoutnotification node each with same unique identifier in the same execution group.
can we deploy the same in different execution group in MBv6.1?? |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Mar 16, 2010 4:04 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
No, what you shouldn't do is create two separate logical flows that use the same Unique ID for the Timeout, if you don't want to mix messages. (and my dating life tells me exactly how bad mixed messages are.)
If you *want* to mix messages, then there's no worries.
Whether or not the two flows are in the same EG or not is irrelevant. There's only one queue for the same UID for a given *broker* because each *broker* has it's *own* qmgr. So if you deploy to two EGs on the same broker, messages will mix. If you deploy to two EGs on a different broker, they won't. |
|
Back to top |
|
 |
|