Author |
Message
|
smalavia |
Posted: Fri Aug 25, 2006 3:22 am Post subject: JMS + channel definition table |
|
|
Novice
Joined: 16 Jul 2006 Posts: 12
|
G'day people,
Am a newbie to MQ et al. And get this following error in my JMS send code:
JMSException: javax.jms.JMSException: MQJMS2005: failed to create MQQueueManager for '127.0.0.1:*QM1'
Linked exception: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2423
I am trying to use the 2423 (X'0977')MQRC_CLIENT_CHANNEL_CONFLICT
Explanation:
A client channel definition table was specified for determining the name of the channel, but the name has already been defined.
This reason code occurs only with Java applications.
Completion Code:
MQCC_FAILED
Programmer Response:
Change the channel name to blank and try again.
.
I looked up the Reason Code List and found:
##########
2423 (X'0977')MQRC_CLIENT_CHANNEL_CONFLICT
Explanation:
A client channel definition table was specified for determining the name of the channel, but the name has already been defined.
This reason code occurs only with Java applications.
Completion Code:
MQCC_FAILED
Programmer Response:
Change the channel name to blank and try again.
##########
But my simple java (non JMS) queue write works with the whole setup.
Could not figure out whats wrong....can anyone pls help.
Thanks and much appreciate.
SM |
|
Back to top |
|
 |
Vitor |
Posted: Fri Aug 25, 2006 3:25 am Post subject: Re: JMS + channel definition table |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
smalavia wrote: |
Programmer Response:
Change the channel name to blank and try again.
|
Does it work if you do this?
What client channels have you defined on the queue manager? Are there any other channel types defined on the queue manager? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
smalavia |
Posted: Fri Aug 25, 2006 3:39 am Post subject: Re: JMS + channel definition table |
|
|
Novice
Joined: 16 Jul 2006 Posts: 12
|
i got this if I left tehe channel blank....
JMSException: javax.jms.JMSException: MQJMS2005: failed to create MQQueueManager for '*QM1'
Linked exception: com.ibm.mq.MQException: MQJE001: An MQException occurred: Completion Code 2, Reason 2009
MQJE016: MQ queue manager closed channel immediately during connect
Closure reason = 2009 |
|
Back to top |
|
 |
Vitor |
Posted: Fri Aug 25, 2006 3:40 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Again I ask what client & other channels are defined to your queue manager? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
smalavia |
Posted: Fri Aug 25, 2006 3:44 am Post subject: |
|
|
Novice
Joined: 16 Jul 2006 Posts: 12
|
here's what I had defined earlier.....
DEFINE CHANNEL(CHAN1) CHLTYPE(SVRCONN) TRPTYPE(TCP) +
DESCR('Server-connection to Client_1')
DEFINE CHANNEL(CHAN1) CHLTYPE(CLNTCONN) TRPTYPE(TCP) +
CONNAME(‘127.0.0.1(1414)’) QMNAME(QM1) DESCR('Client-connection to Server_1') |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Aug 25, 2006 4:09 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
CHAN1 is a really horrible name for a channel.
I forget if DEFINE CHANNEL requires you to specify if you're adding to the regular channel table or the client channel table. I know that DELETE CHANNEL does. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
wschutz |
Posted: Fri Aug 25, 2006 4:13 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
jefflowrey wrote: |
CHAN1 is a really horrible name for a channel.
I forget if DEFINE CHANNEL requires you to specify if you're adding to the regular channel table or the client channel table. I know that DELETE CHANNEL does. |
In V6, if the CHLTYPE is CLNTCONN, it goes into the client channel table (as WELL as the "object based" channel definition)..
Can you post the relevant section of you Java code? _________________ -wayne |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Aug 25, 2006 2:28 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
smalavia wrote: |
DEFINE CHANNEL(CHAN1) CHLTYPE(CLNTCONN) TRPTYPE(TCP) +
CONNAME(‘127.0.0.1(1414)’) QMNAME(QM1) DESCR('Client-connection to Server_1') |
Do you mean to tell us the WEB server runs on the same machine as the QMGR (127.0.0.1 or localhost) and you are using a client channel (table)?? Why not a server connection??  _________________ MQ & Broker admin |
|
Back to top |
|
 |
smalavia |
Posted: Sun Aug 27, 2006 4:51 pm Post subject: JMS + channel definition table |
|
|
Novice
Joined: 16 Jul 2006 Posts: 12
|
fjb_saper: Yes my MQ client runs on the same m/c as the QM1 and QM2. But at this point I am only emulating the final scenario where the client and the two qmgrs will all run or seperate machines. Just wanted to get the client connect to a backup QM in case the first one is not available.
But thanks for your comment and interest.
I managed to solve this. Did the following:
On QM 1.........
* DEFINE CHANNEL(ALPHA) CHLTYPE(SVRCONN) TRPTYPE(TCP) +
DESCR('Server-connection to Client_1')
* DEFINE CHANNEL(ALPHA) CHLTYPE(CLNTCONN) TRPTYPE(TCP) +
CONNAME('127.0.0.1(1414)') QMNAME(QM1) DESCR('Client-connection to Server_1')
* DEFINE CHANNEL(BETA) CHLTYPE(CLNTCONN) TRPTYPE(TCP) +
CONNAME('127.0.0.1(1415)') QMNAME(QM1) DESCR('Client-connection to Server_1')...although it is the QM2 that listens on port 1415.
On QM 2.......
* DEFINE CHANNEL(BETA) CHLTYPE(SVRCONN) TRPTYPE(TCP) +
DESCR('Server-connection to Client_1')
Probably this is a simple one for some of you ....but hey...its still my first MQ development. A big thanks for all those who tried to help. |
|
Back to top |
|
 |
fjb_saper |
Posted: Sun Aug 27, 2006 8:09 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Quote: |
On QM 2.......
* DEFINE CHANNEL(BETA) CHLTYPE(SVRCONN) TRPTYPE(TCP) +
DESCR('Server-connection to Client_1')
* DEFINE CHANNEL(BETA) CHLTYPE(CLNTCONN) TRPTYPE(TCP) +
CONNAME('127.0.0.1(1415)') QMNAME(QM1) DESCR('Client-connection to Server_1')...although it is the QM2 that listens on port 1415. |
I would have defined the qmname for BETA to be QM2.
Now when trying to connect I would have used QM*. This would first try channel ALPHA then Channel BETA as both match the qmgr with QM1 or QM2.
But then that's just me...
You might want to reread part of the client connection manual  _________________ MQ & Broker admin |
|
Back to top |
|
 |
wschutz |
Posted: Mon Aug 28, 2006 10:12 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Aug 28, 2006 3:12 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
I have never actually used the channel table and naively thought that the examples would allow you to really use a wildcard on the qmgr name.
ReReading the manual I realize that you need to add some careful planning before creating the client connection table as the qmgr names will not match the reality of the connection but the effect you are trying to get out of it. (like fail over etc...)
Thanks for setting me straight.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
smalavia |
Posted: Mon Aug 28, 2006 3:20 pm Post subject: |
|
|
Novice
Joined: 16 Jul 2006 Posts: 12
|
|
Back to top |
|
 |
|