Author |
Message
|
james_pj |
Posted: Wed Nov 06, 2002 6:40 am Post subject: Can Mercator talk to two Queue Managers on Two different Box |
|
|
Novice
Joined: 31 Jul 2002 Posts: 11 Location: Virginia
|
We are using AIX 4.3 and MQSeries 5.2.
There are two Queue Managers
PROD.QUEUE.MANAGER on AIXServer1 and
PROD2.QUEUE.MANAGER on AIXServer2.
Mercator is on AIXServer2.
We have setup the MQSERVER variable for the QM PROD.QUEUE.MANAGER and the Mercator is now talking to it.
Now the requirement is, The same Mercator want's to talk to the QM PROD2.QUEUE.MANGER.
When I gave the new MQSERVER values, the Mercator team says, it will disable their existing communication to the QM PROD.QUEUE.MANAGER.
Is there any way, the Mercator can talk to two Queue Managers from the same login id, and instances? ( I don't have knowledge of Mercator).
Is there anything we can do in the MQSeries to make the Mercator talk to more than one Queue Manager from different AIX box.
Thanks. _________________ --------------------------------------------
James PJ
-------------------------------------------- |
|
Back to top |
|
 |
RogerLacroix |
Posted: Wed Nov 06, 2002 9:22 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Hi,
Sounds like you want to connect to both queue managers via MQ Client code (which is what I would have recommended).
You need to stop using MQSERVER environment variable and use the MQ Client Channel Table. Completely remove MQSERVER and use MQCHLTAB & MQCHLLIB environment variables.
Create ALL of your MQ Client Channels in a given queue manager, then copy the Client Channel Table file (AMQCLCHL.TAB) to your AIXSERVER2 box (or just use the queue manager on that box).
This allows your application (Mercator) to connect to a variety of queue managers.
For more information read the MQSeries Clients manual and/or the MQSeries Intercommunition manual.
later
Roger... _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
PeterPotkay |
Posted: Thu Nov 07, 2002 5:36 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
By the way, an MQClient can connect to 2 or more queue managers at the same time, if that is what you need. Or you can connect to either QM only.
Either way, like Roger said, MQSERVER will not allow you to do this. But the MQCHANNEL table, or the MQCONNX call, will. With the MQCONNX call, your application code trumps any MQSERVER or MQCHLLIB/MQCHLTAB parameters you may have on your system. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
james_pj |
Posted: Wed Nov 13, 2002 9:47 am Post subject: |
|
|
Novice
Joined: 31 Jul 2002 Posts: 11 Location: Virginia
|
Thanks to Roger & Peter for the suggestions:
Based on the MQSeries Client document,
MQCHLLIB :This holds the path to the directory and file containing the
client channel definition table.
MQCHLTAB : This specifies the name of the client channel definition
table. The default file name is amqclchl.tab.
The channel definition file AMQCLCHL.TAB from the folder
1) /var/mqm/qmgrs/PROD!QUEUE!MANAGER/@ipcc of AIXSERVER1 is copied to the folder /common/MQCH of AIXSERVER2 as AMQCLFA1.TAB
2) /var/mqm/qmgrs/PROD2!QUEUE!MANAGER/@ipcc of AIXSERVER2 is copied to the folder /common/MQCH of AIXSERVER2 as AMQCLFA2.TAB
export MQCHLLIB=/common/MQCH/
export MQCHLTAB=AMQCLFA2.TAB
Doubts:
1) MQCHLTAB is now associated with AMQCLFA2.TAB, how will it look at
AMQCLFA1.TAB? should AMQCLFA1.TAB & AMQCLFA2.TAB merged to AMQCLCHL.TAB (i.e cat AMQCLFA1.TAB AMQCLFA2.TAB > AMQCLCHL.TAB)
2) When I run the sample program from the AIXSERVER2
$ ./amqsputc TEST_QUEUE_1 PROD2.QUEUE.MANAGER
Sample AMQSPUT0 start
MQCONN ended with reason code 2058
$ mqrc 2058
2058 0x0000080a MQRC_Q_MGR_NAME_ERROR
Will some one correct me where I am going wrong.
Thanks. _________________ --------------------------------------------
James PJ
-------------------------------------------- |
|
Back to top |
|
 |
james_pj |
Posted: Wed Nov 13, 2002 1:49 pm Post subject: |
|
|
Novice
Joined: 31 Jul 2002 Posts: 11 Location: Virginia
|
Now...
MQCONN ended with reason code 2059
$ mqrc 2059
2059 0x0000080b MQRC_Q_MGR_NOT_AVAILABLE
The /var/mqm/errors has the following errors:
11/13/02 14:24:22
AMQ9202: Remote host 'AIXSERVER2 (111.111.1.111) (1414)' not available, retry
later.
Now I checked my listener, it is on port 1416, through the
MQSERVER=PRODCHANNEL/TCP/'111.111.1.111(1416)'
We are able to specify the port,
with the MQCHLTAB and MQCHLLIB, how to make the client aware of port 1416.
For testing, I ran runmqlsr with the port 1414, it works, but we want to assign it to a different port other than the default port.
Thanks in advance. _________________ --------------------------------------------
James PJ
-------------------------------------------- |
|
Back to top |
|
 |
RogerLacroix |
Posted: Wed Nov 13, 2002 9:25 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Go back to MQExplorer and update the Connection Name with 111.111.1.111(1416) for that particular client channel. (Note: Leave off the quotes.)
later
Roger... _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
james_pj |
Posted: Thu Nov 14, 2002 6:45 am Post subject: |
|
|
Novice
Joined: 31 Jul 2002 Posts: 11 Location: Virginia
|
Roger,
Thanks a lot for solving the problem. It is working. Now the mercator can talk to both the queue Managers.
The CHANNEL definition of AIXSERVER1 is also created on the AIXSERVER2, now the AMQCLCHL.TAB on the AIXSERVER1 has both the Queue Managers table definition of both queue Managers.
You are great.
Have a nice day. _________________ --------------------------------------------
James PJ
-------------------------------------------- |
|
Back to top |
|
 |
|