ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum IndexIBM MQ Installation/Configuration SupportClient Channel Table question

Post new topicReply to topic
Client Channel Table question View previous topic :: View next topic
Author Message
Trainee
PostPosted: Mon Feb 26, 2007 7:50 am Post subject: Client Channel Table question Reply with quote

Centurion

Joined: 27 Oct 2006
Posts: 124

Hi ,

I have MQClient on Windows,MQ Sever on two aix servers.

I created TESTQM1 and TESTQM2 on two of aix servers ,one on each.

Created Client Connection Channel Table for these queue managers and placed that Client connection Channel Table on Windows box and able to put the messages by doing amqsputc INPUTQ TESTQM1 or INPUTQ TESTQM2.

Question: Some where I read ,Instead of specific queuemanager name I can give the * to apply for any queue manager.
I gave amqsputc INPUTQ TESTQM* .My intention is it will try to connect to TESTQM1 ,If it fails(beacuse of listner down ..etc) it will try to connect the second entry in the Clinet channel tabel and will put the message to the INPUTQ TESTQM2.

But I am getting qmgr not available 2059 error while doing

amqsputc INPUTQ TESTQM*

Can any one help me out how to use * to access any queue manager in the client channel table.

Thank you

Trainee
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Mon Feb 26, 2007 7:55 am Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

It's not a general purpose wildcard.

You need to either specify a single *, or a full queue manager name.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Feb 26, 2007 7:58 am Post subject: Re: Client Channel Table question Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Trainee wrote:
Some where I read ,Instead of specific queuemanager name I can give the * to apply for any queue manager.


You read it in the Clients manual, under the section "Multiple Queue Managers" in the chapter "Running client applications".

AFAIK you can only specify a properly qualified name, or an *. In the latter case, the first available queue manager in the table gets the connection.

Note that if you've connected to TESTQM1 and it subsequently fails, your application must detect this and reconnect via program logic. The client connection won't automatically switch.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Trainee
PostPosted: Mon Feb 26, 2007 11:09 am Post subject: Reply with quote

Centurion

Joined: 27 Oct 2006
Posts: 124

I tried with amqsputc INPUT *

I am getting the Qmgr Not available error,

If I give full queuemanager name

amqsputc INPUT TESTQM1 I am able to put the message to the INPUT queue

C:\Documents and Settings\Trainee>set MQCHLLIB=C:\

C:\Documents and Settings\Trainee>set MQCHLTAB=AMQCLCHL.TAB

C:\Documents and Settings\Trainee>amqsputc INPUT *
Sample AMQSPUT0 start
MQCONN ended with reason code 2059

C:\Documents and Settings\Trainee>amqsputc INPUT TESTQM1
Sample AMQSPUT0 start
target queue is INPUT
HI

Sample AMQSPUT0 end


I think it wont work for sample amqsputc it will work for javaclient or c or c++...

Thanks for your help

Trainee
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Mon Feb 26, 2007 11:13 am Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

You probably have to quote the * to protect it from shell interpolation...
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Nigelg
PostPosted: Mon Feb 26, 2007 12:05 pm Post subject: Reply with quote

Grand Master

Joined: 02 Aug 2004
Posts: 1046

The * goes in the CLNTCONN definition, not on the client app command line.

To determine which client channel to use when the table is in use, the client code matches the qmgr name passed to MQCONN. If the CLNTCONN channel has a *, it matches any qmgr name.
_________________
MQSeries.net helps those who help themselves..
Back to top
View user's profile Send private message
bruce2359
PostPosted: Mon Feb 26, 2007 12:24 pm Post subject: Reply with quote

Guest




* in Client Table

From the APR:

MQ client queue-manager groups: If the specified name starts with an asterisk (*), the queue manager to which connection is made might have a different name from that specified by the application. The specified name (without the asterisk) defines a group of queue managers that are eligible for connection. The implementation selects one from the group by trying each one in turn (in no defined order) until one is found to which a connection can be made. If none of the queue managers in the group is available for connection, the call once only. If an asterisk alone is pecified for default queue-manager group is used.
Back to top
dalelane
PostPosted: Mon Feb 26, 2007 3:19 pm Post subject: Reply with quote

Novice

Joined: 21 Jul 2005
Posts: 15

This is an interesting topic.

I thought it might help to have a quick example of different ways that * can be used in client MQCONN calls, so there is a post on the WMQ blog about this today.

Hope it is helpful to someone! Comments (as always) are very welcome.
Back to top
View user's profile Send private message
Trainee
PostPosted: Tue Feb 27, 2007 6:12 am Post subject: Reply with quote

Centurion

Joined: 27 Oct 2006
Posts: 124

As you guys suggested I alter the Client Connection Channel QM Name Property to * Then I could able to put the messages using amqsputc.

amqsputc INPUT * ( without any quotes for *)

As of now it is solving my need.(So Problem is in defining my Client Connection Channel?)

Still I think I can use * in the MQCONN call may be not from the commandline from the client box even if I define Client Connection Channel with full QM Name in the QMName Property.

I really thankful to everyone for all your input

Trainee
Back to top
View user's profile Send private message
Display posts from previous:
Post new topicReply to topic Page 1 of 1

MQSeries.net Forum IndexIBM MQ Installation/Configuration SupportClient Channel Table question
Jump to:



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP


Theme by Dustin Baccetti
Powered by phpBB 2001, 2002 phpBB Group

Copyright MQSeries.net. All rights reserved.