Author |
Message
|
Trainee |
Posted: Thu Mar 08, 2007 8:30 am Post subject: Again CLINET channel Table Question |
|
|
 Centurion
Joined: 27 Oct 2006 Posts: 124
|
Hi,
If I have two queue managers A and B and unix box and(local machine) amqsc Client using Clinet Channel Table.
My understanding is if I define Client Channel for the Queue Manager A first and B later those entries will be like that in the AMQCLCHL.TAB
....may be first entry will be for Queue Manager A and Second entry will be for Queue Manager B.
How can change this table so that client intially connect to B and A for failover.
Beacuse I tried defining the clinet connect channels on one of the queue managers but still traffic is getting routed to Queue Manager A
Does this reverse the entries order work if the two queue managers are on the same server.
Please explain
Thank you
Trainee |
|
Back to top |
|
 |
Vitor |
Posted: Thu Mar 08, 2007 8:36 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
You need to define both queue managers in a single table, and connect to a queue manager called "*" _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Trainee |
Posted: Mon Mar 19, 2007 6:14 am Post subject: |
|
|
 Centurion
Joined: 27 Oct 2006 Posts: 124
|
Hi Vitor,
Thats what I did
My question is how can restrict my connection first to B and if it fails it has to connect to A
Thanks
Trainee |
|
Back to top |
|
 |
Vitor |
Posted: Mon Mar 19, 2007 7:31 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
The connection will be made to the 1st entry in the table that matches and works. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Trainee |
Posted: Tue Mar 20, 2007 4:48 am Post subject: |
|
|
 Centurion
Joined: 27 Oct 2006 Posts: 124
|
Thats true.
But How can i keep queuemanager B information as first entry in the table.I think just by defining the Clinet Channel for B first then to A so that first entry will be for the queue manager B
Actually in the above situation I created TWO client Channel Tables (one on A one on B)
For first Table I defined the client channel for A first and B second
For second Table I defined the client channel for B first and A second
Just I want give a try which queue manager is getting connected first from client using the client channel table.Surprisingly for the both the tables client is getting connected to the queue manager A first(Which should not be for the second table )
When I try to see the entries in the table using strings command both content is same in the order of entries too which i am not expecting
Thanks
Trainee |
|
Back to top |
|
 |
vmcgloin |
Posted: Tue Mar 20, 2007 4:58 am Post subject: |
|
|
Knight
Joined: 04 Apr 2002 Posts: 560 Location: Scotland
|
Check the documentation, but I seem to recall that the order is determined alphabetically by queue manager name. So check what names you are using for A & B...
I can't think (just now) of a way to do what you want using a channel table, but I'd be interested in hearing what solution you end up with.
Cheers,
Vicky |
|
Back to top |
|
 |
Nigelg |
Posted: Tue Mar 20, 2007 5:58 am Post subject: |
|
|
Grand Master
Joined: 02 Aug 2004 Posts: 1046
|
AFAIK it is not documented, but I think channels are searched in alphabetic order of channel name. _________________ MQSeries.net helps those who help themselves.. |
|
Back to top |
|
 |
zpat |
Posted: Tue Mar 20, 2007 6:14 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Alternatively: supply the applicable queue manager names to the application in a parameter file and have the client application connect to one of them in the order of preference you specify,or indeed at random until successful at initial connection and also when re-connecting after rc 2009.
This would load-balance and failover. |
|
Back to top |
|
 |
vmcgloin |
Posted: Tue Mar 20, 2007 6:48 am Post subject: |
|
|
Knight
Joined: 04 Apr 2002 Posts: 560 Location: Scotland
|
Nigelg is right, and it is documented in chpt 13 of the Client manual:
Quote: |
Each example covers a different MQCONN call and gives an explanation of what happens in the specific example presented, by applying the following rules:
1. WebSphere MQ searches the client channel definition table, in alphabetic channel name order, looking in the queue manager name (QMNAME) field for an entry corresponding to the one given in the MQCONN call.
2. If a match is found, the channel definition is used.
3. An attempt is made to start the channel to the machine identified by the connection name (CONNAME). If this is successful, the application continues.
4. If the attempt to start the channel fails and there is more than one entry in the client channel definition table , the file is searched for a further match. ... |
|
|
Back to top |
|
 |
|