Author |
Message
|
jagan |
Posted: Tue Mar 27, 2007 9:06 pm Post subject: Multiple Destination Queue Manager from Message Broker Flows |
|
|
Acolyte
Joined: 26 Jun 2001 Posts: 55
|
Hi,
I have a requirment of sending output message from MB flows to multiple destination Queue managers. Iam have the following environment..
1. 10+1 Queue Managers all are in one cluster.
2. Every queue manager is having a common queue name as 'A'.
3. output message from Flow to be routed to all the queues (A) in all different Queue Managers (i.e 10+1 QM's).
Tried using Destination List as below. QM1 is the default QM for broker, when I used the following iam getting the error saying "Unable to open Queue 'A' in Queue Manager 'QM2'.
SET OutputLocalEnvironment.Destination.MQ.DestinationData[1].queueManager = 'QM1';
SET OutputLocalEnvironment.Destination.MQ.DestinationData[1].queueName = 'A';
SET OutputLocalEnvironment.Destination.MQ.DestinationData[2].queueManager = 'QM2';
SET OutputLocalEnvironment.Destination.MQ.DestinationData[2].queueName = 'A';
Please let me know how to send to different destinations, without using the Remote queue option.. |
|
Back to top |
|
 |
vk |
Posted: Tue Mar 27, 2007 10:07 pm Post subject: |
|
|
Partisan
Joined: 20 Sep 2005 Posts: 302 Location: Houston
|
You can use Publish Subscibe model for this scenario. Register a topic for this flow with the broker and subscribe the queue for each of the 10 queue managers for this topic.
From the flow, you can use a Publication node to publish the topic simultaneously to all the subscribers.
Regards,
VK. |
|
Back to top |
|
 |
Michael Dag |
Posted: Tue Mar 27, 2007 10:18 pm Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
QM1 is your local Qmgr, what happens when you put to a single Qeueu on QM2, is your cluster setup ok?
Can the broker find QM2?
what error code do you get? _________________ Michael
MQSystems Facebook page |
|
Back to top |
|
 |
Blackberry |
Posted: Tue Mar 27, 2007 11:00 pm Post subject: |
|
|
Apprentice
Joined: 12 Jul 2006 Posts: 28
|
if u do not have a cluster, you can make your queue managers to be communicated with the brokers one to solve this problem.
Either way you can check the receiver channel connection parameter has been entered correctly. I had preveously faced same kind of problem. |
|
Back to top |
|
 |
Blackberry |
Posted: Tue Mar 27, 2007 11:02 pm Post subject: |
|
|
Apprentice
Joined: 12 Jul 2006 Posts: 28
|
The second one if you want to use clustering. |
|
Back to top |
|
 |
vk |
Posted: Tue Mar 27, 2007 11:50 pm Post subject: |
|
|
Partisan
Joined: 20 Sep 2005 Posts: 302 Location: Houston
|
Per IBM documentation for MB6 for MQOutput Node -
Quote: |
When you use a WebSphere MQ clustered queue, leave the queue manager name empty. |
When you want to send the same output to multiple queues and the queue names are different, you can use either MQDestinationList or Publish-Subscribe. But when all the destination queue names are same, then Publish-Subscribe is the better approach.
Regards,
VK |
|
Back to top |
|
 |
broker_new |
Posted: Wed Mar 28, 2007 4:32 am Post subject: |
|
|
 Yatiri
Joined: 30 Nov 2006 Posts: 614 Location: Washington DC
|
In the MQOutput Node properties you have to set
DESTINATION MODE = DESTINATION LIST _________________ IBM ->Let's build a smarter planet |
|
Back to top |
|
 |
jagan |
Posted: Wed Mar 28, 2007 7:12 am Post subject: Multiple Destination Queue Manager from Message Broker Flows |
|
|
Acolyte
Joined: 26 Jun 2001 Posts: 55
|
I have configured my environment as below:
1. Destination Mode: Destination List
2. Left blank of QM name and Queue Name
Testing with the below senario:
Created two QM as QMGR and TEST and created a Queue with the same name as 'A' on both the Queue managers. And put these two QM are in one cluster.
Now trying the below code to send the same message to multiple destination..
SET OutputLocalEnvironment.Destination.MQ.DestinationData[1].queueManagerName='QMGR'
SET OutputLocalEnvironment.Destination.MQ.DestinationData[1].queueName = 'A';
SET OutputLocalEnvironment.Destination.MQ.DestinationData[2].queueManagerName='TEST';
SET OutputLocalEnvironment.Destination.MQ.DestinationData[2].queueName = 'A';
Still getting the exception "Failed to open queue" for the TEST ..
Let me know only the Publish Subscribe is the only option to send multiple destination Queue managers..
Thanks
jagan |
|
Back to top |
|
 |
Vitor |
Posted: Wed Mar 28, 2007 7:17 am Post subject: Re: Multiple Destination Queue Manager from Message Broker F |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
jagan wrote: |
Still getting the exception "Failed to open queue" for the TEST ..
|
What is the reason code associated with the failure?
Is the queue manager associated with the flow in the same cluster as the target queue manager?
No, Pub/Sub is not the only option. The list function you're using works as well. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Mar 28, 2007 7:19 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You really shouldn't be putting to a specific qmgr when writing to a QCLUSTER.
You should make sure that the MQOutput node is not using BIND_ON_OPEN and that the queue A's do not have DEFBIND of BIND_ON_OPEN. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
EddieA |
Posted: Wed Mar 28, 2007 2:13 pm Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
If you are PUTting directly to a remote QM, then you have to ensure that the local QM knows how to route the message. The "usual" method, is to have an XMITQ named the same as the destination QM. Or, you can use QM Aliases, or a Default XMITQ.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
PullMeOut |
Posted: Tue Apr 03, 2007 9:27 am Post subject: You Need to Change the comput node properties |
|
|
Novice
Joined: 03 Apr 2007 Posts: 11 Location: India
|
Hello All
SET OutputLocalEnvironment.Destination.MQ.DestinationData[1].queueManagerName='QMGR'
SET OutputLocalEnvironment.Destination.MQ.DestinationData[1].queueName = 'A';
SET OutputLocalEnvironment.Destination.MQ.DestinationData[2].queueManagerName='TEST';
SET OutputLocalEnvironment.Destination.MQ.DestinationData[2].queueName = 'A';
This code will work , the only think everyone is missing here is
In compute node properties we need to
set LocalEnvironment and Message |
|
Back to top |
|
 |
jagan |
Posted: Mon Apr 09, 2007 12:19 pm Post subject: Multiple Destination Queue Manager from Message Broker Flows |
|
|
Acolyte
Joined: 26 Jun 2001 Posts: 55
|
Hi Guys,
It is working, some issues with cluster. After creating the cluster with both QMGR and TEST queuemanager it is working fine..
Thanks for all your support..
Jagan |
|
Back to top |
|
 |
|