Author |
Message
|
saddankula |
Posted: Thu Mar 31, 2016 10:21 pm Post subject: Is MQGet node will work in Cluster Environment? |
|
|
Acolyte
Joined: 27 Jun 2013 Posts: 51
|
I am using Message broker v7.0.0.5 and My Broker environment contain 3 Brokers and 3 Queue managers. All Queue mangers in Single Cluster. I want to create one flow with MQGet Node and Would like to Deploy in All 3 Brokers.
Is MQ Get Node will work in Single cluster ? and Is MQGet node will retrieve the message from same Cluster Input Queue. Pls advice me. |
|
Back to top |
|
 |
smdavies99 |
Posted: Fri Apr 01, 2016 2:06 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
What do you think it does? Yes or No?
you must have some idea one way or the other. _________________ 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 |
|
 |
saddankula |
Posted: Fri Apr 01, 2016 2:40 am Post subject: |
|
|
Acolyte
Joined: 27 Jun 2013 Posts: 51
|
I am not aware of this. If you have any idea ,pls advice |
|
Back to top |
|
 |
Vitor |
Posted: Fri Apr 01, 2016 4:20 am Post subject: Re: Is MQGet node will work in Cluster Environment? |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
saddankula wrote: |
I am using Message broker v7.0.0.5 |
You know that's out of support don't you?
saddankula wrote: |
Is MQ Get Node will work in Single cluster ? and Is MQGet node will retrieve the message from same Cluster Input Queue. Pls advice me. |
If this wasn't WMB, but a normal application doing an MQGet deployed to the environment you describe, what would happen?
The same thing will happen with WMB. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
wbi_telecom |
Posted: Fri Apr 01, 2016 5:43 am Post subject: |
|
|
 Disciple
Joined: 15 Feb 2006 Posts: 188 Location: Harrisburg, PA
|
Yes. It works fine. The key to get it working with multiple brokers is the ReplytoQMgr field in MQMD. If you share the ReplytoQueue in cluster you lose the control of getting the reply back on the same queue manager from where the request was made. So use the cluster resources but don't share the queue in cluster . (This was one of the interview questions I used to ask before SOAP and REST took over the message oriented middleware)
Cheers, |
|
Back to top |
|
 |
saddankula |
Posted: Mon Apr 04, 2016 9:39 pm Post subject: |
|
|
Acolyte
Joined: 27 Jun 2013 Posts: 51
|
Thank you for your valuable solution. I tried with ur solution. But In my cluster environment two queue mangers in Full repository and another two Queue mangers in partial repository. But By using Reply to Queue manger concept i am unable to put the message to Partial repository Queue mangers (MB7QMGR3). and I am able to Put message in Full Queue mangers (MB7QMGR1,MB7QMGR2). Pls help me how to reslove this issue.
I used below esql code
SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueManagerName='MB7QMGR1';
SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueName='CLQ2';
--------------------
SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueManagerName='MB7QMGR2';
SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueName='CLQ2';
---------------------
SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueManagerName='MB7QMGR3';
SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueName='CLQ2'; |
|
Back to top |
|
 |
smdavies99 |
Posted: Mon Apr 04, 2016 10:06 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
If you are trying to put the same message to all three QMGRS in one go then your ESQL is wrong.
If you search this forum (and it is a wonderful source of information you know. Get used to looking there first. It will save you a lot of time)
for
Quote: |
MQ.DestinationData.queueManagerName
|
you will find examples of the correct structures to use for your ESQL. _________________ 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 |
|
 |
saddankula |
Posted: Mon Apr 04, 2016 10:12 pm Post subject: |
|
|
Acolyte
Joined: 27 Jun 2013 Posts: 51
|
I used below esql coding based on Reply to Quuemanger
IF InputRoot.XMLNS.MESSAGE.ReplyToQMGR='MB7QMGR1' THEN
SET OutputRoot.XMLNS=InputRoot.XMLNS;
SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueManagerName='MB7QMGR';
SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueName='CLQ2';
PROPAGATE TO TERMINAL 'out';
RETURN FALSE;
ELSEIF InputRoot.XMLNS.MESSAGE.ReplyToQMGR='MB7QMGR2' THEN
SET OutputRoot.XMLNS=InputRoot.XMLNS;
SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueManagerName='QM';
SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueName='CLQ2';
PROPAGATE TO TERMINAL 'out';
RETURN FALSE;
ELSEIF InputRoot.XMLNS.MESSAGE.ReplyToQMGR='MB7QMGR3' THEN
SET OutputRoot.XMLNS=InputRoot.XMLNS;
SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueManagerName='QM1';
SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueName='CLQ2';
PROPAGATE TO TERMINAL 'out';
RETURN FALSE;
ELSE
RETURN FALSE;
END IF |
|
Back to top |
|
 |
smdavies99 |
Posted: Tue Apr 05, 2016 1:35 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Did that work?
Why are you using the XMLNS domain rather than XMLNSC? _________________ 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 |
|
 |
saddankula |
Posted: Tue Apr 05, 2016 1:49 am Post subject: |
|
|
Acolyte
Joined: 27 Jun 2013 Posts: 51
|
It is working for MB7QMGR1 and MB7QMGR2 but it is not working for MB7QMGR3. The message is not going to CLQ2 Queue of MB7QMGR3. Because MB7QMGR1 and MB7QMGR2 is in full repository and MB7QMGR3 is in partial repository. How can i send xml message to MB7QMGR3.
for Project need I used xmlns |
|
Back to top |
|
 |
timber |
Posted: Tue Apr 05, 2016 2:16 am Post subject: |
|
|
 Grand Master
Joined: 25 Aug 2015 Posts: 1292
|
Quote: |
The message is not going to CLQ2 Queue of MB7QMGR3. Because MB7QMGR1 and MB7QMGR2 is in full repository and MB7QMGR3 is in partial repository. |
Interesting assumption there. How do you know the reason?
btw, a queue manager is not in a full repository or in a partial repository. A queue manager is in a cluster. It contains/hosts a full or a partial repository. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Apr 05, 2016 4:10 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
There is nothing different with an MQGet node from any other MQ application reading from a queue.
The rules for what kinds of queues can be read from are the same.
What are those rules? Have you looked at the knowledge center to find out?
Your thread title and your first post talk about MQGet, but your code and some of your other statements talk about MQPut.
The rules for MQOutput node are the same as for any other MQ application writing to a queue.
What are those rules? Have you looked at the knowledge center to find out?
How does a cluster decide where to move messages? How do you indicate to the cluster that a given message should be sent via the cluster, rather than via some other means?
How are you building your output destinations? Does that match the way that a cluster decides where to move messages? _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
|