|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
JBoss and Multi-instance queue manager |
« View previous topic :: View next topic » |
Author |
Message
|
LouML |
Posted: Tue Oct 11, 2011 7:15 am Post subject: JBoss and Multi-instance queue manager |
|
|
 Partisan
Joined: 10 Nov 2005 Posts: 305 Location: Jersey City, NJ / Bethpage, NY
|
We’ve built a Multi-instance Queue Manager environment using two Solaris SPARC 10 servers (server1 & server2) running MQ Server 7.0.1.6 in development.
Most of our applications have successfully tested automated failover, with either the MQSERVER variable or AMQCLCHL.TAB file containing the multiple hostnames as - server1(1414),server2(1414)
However, some of our Java apps do not seem to be able to specify the multiple hostnames. One application developer said that Jboss does not support Multi-instance Queue Manager.
Does anyone know if this is true?
Another Java app uses connection factories. I used JMSAdmin on his MQ Client server to create the connection factory with the multiple hosts, however, he does not want to have to manage connection factories on all of his MQ Client boxes. He wants to have it centralized to a JNDI server.
Can anyone offer any tips as to how to set this up? _________________ Yeah, well, you know, that's just, like, your opinion, man. - The Dude |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Oct 11, 2011 11:25 am Post subject: Re: JBoss and Multi-instance queue manager |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
LouML wrote: |
We’ve built a Multi-instance Queue Manager environment using two Solaris SPARC 10 servers (server1 & server2) running MQ Server 7.0.1.6 in development.
Most of our applications have successfully tested automated failover, with either the MQSERVER variable or AMQCLCHL.TAB file containing the multiple hostnames as - server1(1414),server2(1414)
However, some of our Java apps do not seem to be able to specify the multiple hostnames. One application developer said that Jboss does not support Multi-instance Queue Manager.
Does anyone know if this is true?
Another Java app uses connection factories. I used JMSAdmin on his MQ Client server to create the connection factory with the multiple hosts, however, he does not want to have to manage connection factories on all of his MQ Client boxes. He wants to have it centralized to a JNDI server.
Can anyone offer any tips as to how to set this up? |
I'd suggest you use a file based JNDI.
However using one JNDI with MI qmgrs can be a problem if you still have V6 code hanging around. The same for JBOSS. If all your MQ code there is V7 I do not see why it should not support multi-instance qmgr (that is if you are using a client connection). You do not expect JBoss to support an MI qmgr on a "bindings" connection now do you?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
LouML |
Posted: Tue Oct 18, 2011 8:56 am Post subject: |
|
|
 Partisan
Joined: 10 Nov 2005 Posts: 305 Location: Jersey City, NJ / Bethpage, NY
|
Using ./JMSAdmin, how do I define the QCF to connect to the multi-instance QM?
When I do the following, the app owner says his app can connect:
def qcf(aQCF_SERVER) qmgr(QM.SERVER.01) tran(client) chan(CH.SERVER.CLIENT) host(server1) port(1414)
when I try these, it does not work:
def qcf(aQCF_SERVER) qmgr(QM.SERVER.01) tran(client) chan(CH.SERVER.CLIENT) host(server1,server2)) port(1414)
def qcf(aQCF_SERVER) qmgr(QM.SERVER.01) tran(client) chan(CH.SERVER.CLIENT) connectionnamelist('server1(1414),server2(1414)')) _________________ Yeah, well, you know, that's just, like, your opinion, man. - The Dude |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Oct 18, 2011 9:33 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
I would try moving the quotes.
LouML wrote: |
def qcf(aQCF_SERVER) qmgr(QM.SERVER.01) tran(client) chan(CH.SERVER.CLIENT) connectionnamelist('server1(1414)','server2(1414)')) |
|
|
Back to top |
|
 |
LouML |
Posted: Wed Oct 19, 2011 2:07 am Post subject: |
|
|
 Partisan
Joined: 10 Nov 2005 Posts: 305 Location: Jersey City, NJ / Bethpage, NY
|
Yeah, I tried a bunch of variations. I guess my main issue is, do I use the HOST and PORT or CONNECTIONNAMELIST in my DEF QCF command?
I tried using HOST and PORT on aQCF_SERVER and CONNECTIONNAMELIST on aQCF_SERVER1 below.
Note the HOSTNAME and CONNECTIONNAMELIST values on the defined QCF's
Basically, I want to wind up with CONNECTIONNAMELIST('server1(1414),server2(1414)')
bash-2.05$ ./JMSAdmin
Licensed Materials - Property of IBM
5724-H72, 5655-R36, 5724-L26, 5655-L82
(c) Copyright IBM Corp. 2008 All Rights Reserved.
US Government Users Restricted Rights - Use, duplication or
disclosure restricted by GSA ADP Schedule Contract with
IBM Corp.
Starting Websphere MQ classes for Java(tm) Message Service Administration
InitCtx> def qcf(aQCF_SERVER1) qmgr(QM.SERVER.01) tran(client) chan(CH.SERVER.CLIENT) connectionnamelist('server1(1414),server2(1414)')
InitCtx> def qcf(aQCF_SERVER) qmgr(QM.SERVER.01) tran(client) chan(CH.SERVER.CLIENT) host(server1,server2) port(1414)
InitCtx> dis qcf(*)
QCF(aQCF_SERVER1)
ASYNCEXCEPTION(ALL)
CCSID(819)
CHANNEL(CH.SERVER.CLIENT)
CLIENTRECONNECTOPTIONS(ASDEF)
CLIENTRECONNECTTIMEOUT(1800)
COMPHDR(NONE )
COMPMSG(NONE )
CONNECTIONNAMELIST('server1(1414))
CONNOPT(STANDARD)
FAILIFQUIESCE(YES)
HOSTNAME('server1)
LOCALADDRESS()
MAPNAMESTYLE(STANDARD)
MSGBATCHSZ(10)
MSGRETENTION(YES)
POLLINGINT(5000)
PORT(1414)
PROVIDERVERSION(UNSPECIFIED)
QMANAGER(QM.SERVER.01)
RESCANINT(5000)
SENDCHECKCOUNT(0)
SHARECONVALLOWED(YES)
SSLFIPSREQUIRED(NO)
SSLRESETCOUNT(0)
SYNCPOINTALLGETS(NO)
TARGCLIENTMATCHING(YES)
TEMPMODEL(SYSTEM.DEFAULT.MODEL.QUEUE)
TEMPQPREFIX()
TRANSPORT(CLIENT)
USECONNPOOLING(YES)
VERSION(7)
WILDCARDFORMAT(TOPIC_ONLY)
QCF(aQCF_SERVER)
ASYNCEXCEPTION(ALL)
CCSID(819)
CHANNEL(CH.SERVER.CLIENT)
CLIENTRECONNECTOPTIONS(ASDEF)
CLIENTRECONNECTTIMEOUT(1800)
COMPHDR(NONE )
COMPMSG(NONE )
CONNECTIONNAMELIST(server1,server2(1414),server2(1414))
CONNOPT(STANDARD)
FAILIFQUIESCE(YES)
HOSTNAME(server1,server2)
LOCALADDRESS()
MAPNAMESTYLE(STANDARD)
MSGBATCHSZ(10)
MSGRETENTION(YES)
POLLINGINT(5000)
PORT(1414)
PROVIDERVERSION(UNSPECIFIED)
QMANAGER(QM.SERVER.01)
RESCANINT(5000)
SENDCHECKCOUNT(0)
SHARECONVALLOWED(YES)
SSLFIPSREQUIRED(NO)
SSLRESETCOUNT(0)
SYNCPOINTALLGETS(NO)
TARGCLIENTMATCHING(YES)
TEMPMODEL(SYSTEM.DEFAULT.MODEL.QUEUE)
TEMPQPREFIX()
TRANSPORT(CLIENT)
USECONNPOOLING(YES)
VERSION(7)
WILDCARDFORMAT(TOPIC_ONLY)
InitCtx> _________________ Yeah, well, you know, that's just, like, your opinion, man. - The Dude |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Oct 19, 2011 2:14 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
I don't think you specify both host and connamelist.
But I'm kind of guessing here. |
|
Back to top |
|
 |
LouML |
Posted: Wed Oct 19, 2011 2:19 am Post subject: |
|
|
 Partisan
Joined: 10 Nov 2005 Posts: 305 Location: Jersey City, NJ / Bethpage, NY
|
mqjeff wrote: |
I don't think you specify both host and connamelist.
But I'm kind of guessing here. |
I agree.
On my first def (aQCF_SERVER), I specified only HOST and PORT.
def qcf(aQCF_SERVER) qmgr(QM.SERVER.01) tran(client) chan(CH.SERVER.CLIENT) host(server1,server2) port(1414)
On my next def (aQCF_SERVER1) I specified only CONNECTIONNAMELIST
def qcf(aQCF_SERVER1) qmgr(QM.SERVER.01) tran(client) chan(CH.SERVER.CLIENT) connectionnamelist('server1(1414),server2(1414)') _________________ Yeah, well, you know, that's just, like, your opinion, man. - The Dude |
|
Back to top |
|
 |
LouML |
Posted: Wed Oct 19, 2011 3:25 am Post subject: |
|
|
 Partisan
Joined: 10 Nov 2005 Posts: 305 Location: Jersey City, NJ / Bethpage, NY
|
I was able to change CONNECTIONNAMELIST using MQExplorer.
I am waiting for the app owner to test it out.
QCF(aQCF_SERVER)
ASYNCEXCEPTION(ALL)
CCSID(819)
CHANNEL(CH.SERVER.CLIENT)
CLIENTRECONNECTOPTIONS(ASDEF)
CLIENTRECONNECTTIMEOUT(1800)
COMPHDR(NONE )
COMPMSG(NONE )
CONNECTIONNAMELIST(server1(1414),server2(1414))
CONNOPT(STANDARD)
FAILIFQUIESCE(YES)
LOCALADDRESS()
MAPNAMESTYLE(STANDARD)
MSGBATCHSZ(10)
MSGRETENTION(YES)
POLLINGINT(5000)
PROVIDERVERSION(UNSPECIFIED)
QMANAGER(QM.SERVER.01)
RESCANINT(5000)
SENDCHECKCOUNT(0)
SHARECONVALLOWED(YES)
SSLFIPSREQUIRED(NO)
SSLRESETCOUNT(0)
SYNCPOINTALLGETS(NO)
TARGCLIENTMATCHING(YES)
TEMPMODEL(SYSTEM.DEFAULT.MODEL.QUEUE)
TEMPQPREFIX()
TRANSPORT(CLIENT)
USECONNPOOLING(YES)
VERSION(7)
WILDCARDFORMAT(TOPIC_ONLY) _________________ Yeah, well, you know, that's just, like, your opinion, man. - The Dude |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Oct 19, 2011 3:27 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
no quotes at all.... okay. |
|
Back to top |
|
 |
LouML |
Posted: Wed Oct 19, 2011 3:29 am Post subject: |
|
|
 Partisan
Joined: 10 Nov 2005 Posts: 305 Location: Jersey City, NJ / Bethpage, NY
|
mqjeff wrote: |
no quotes at all.... okay. |
Well, it took it using MQExplorer. Until now, I've been using JMSAdmin command line.
Doesn't mean it's going to work. Once the app owner tests, I'll know.
If it fails, I'll try quotes. _________________ Yeah, well, you know, that's just, like, your opinion, man. - The Dude |
|
Back to top |
|
 |
LouML |
Posted: Wed Oct 19, 2011 6:09 am Post subject: |
|
|
 Partisan
Joined: 10 Nov 2005 Posts: 305 Location: Jersey City, NJ / Bethpage, NY
|
Okay, got it working. App owners confirmed the connection to the first server and the ability to fail over to the second successfully.
Modifying it with MQExplorer worked. For some reason, using the JMSAdmin command line method, would not work for me.
Anyway, thanks all _________________ Yeah, well, you know, that's just, like, your opinion, man. - The Dude |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Oct 19, 2011 6:16 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
LouML wrote: |
Okay, got it working. App owners confirmed the connection to the first server and the ability to fail over to the second successfully.
Modifying it with MQExplorer worked. For some reason, using the JMSAdmin command line method, would not work for me.
Anyway, thanks all |
So if it works without quotes, and you can't get JMSAdmin to accept it without quotes, then you can try escaping the ( and ) in the JMSAdmin command line.
i.e.
Code: |
def qcf(aQCF_SERVER1) qmgr(QM.SERVER.01) tran(client) chan(CH.SERVER.CLIENT) connectionnamelist(server1\(1414\),server2\(1414\)) |
|
|
Back to top |
|
 |
LouML |
Posted: Wed Oct 19, 2011 6:22 am Post subject: |
|
|
 Partisan
Joined: 10 Nov 2005 Posts: 305 Location: Jersey City, NJ / Bethpage, NY
|
mqjeff wrote: |
LouML wrote: |
Okay, got it working. App owners confirmed the connection to the first server and the ability to fail over to the second successfully.
Modifying it with MQExplorer worked. For some reason, using the JMSAdmin command line method, would not work for me.
Anyway, thanks all |
So if it works without quotes, and you can't get JMSAdmin to accept it without quotes, then you can try escaping the ( and ) in the JMSAdmin command line.
i.e.
Code: |
def qcf(aQCF_SERVER1) qmgr(QM.SERVER.01) tran(client) chan(CH.SERVER.CLIENT) connectionnamelist(server1\(1414\),server2\(1414\)) |
|
No good.
InitCtx> def qcf(aQCF_SERVER1) qmgr(QM.SERVER.01) tran(client) chan(CH.SERVER.CLIENT) connectionnamelist(server1\(1414\),server2\(1414\))
Unable to create a valid object, please check the parameters supplied
JMSADM4128 CNLIST server1\(1414\),server2\(1414\)
InitCtx> def qcf(aQCF_SERVER1) qmgr(QM.SERVER.01) tran(client) chan(CH.SERVER.CLIENT) connectionnamelist('server1\(1414\),server2\(1414\)')
Unable to create a valid object, please check the parameters supplied
JMSADM4128 CNLIST 'server1\(1414\),server2\(1414\)'
InitCtx> end
Stopping Websphere MQ classes for Java(tm) Message Service Administration _________________ Yeah, well, you know, that's just, like, your opinion, man. - The Dude |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Oct 19, 2011 6:27 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
hrm.
Well, maybe it's a forward slash or something else... might be worth a PMR if you were in the mood. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Oct 19, 2011 6:55 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
have you tried
Code: |
connamelist('server1(1414)', 'server2(1414)') |
?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|
|
 |
Goto page 1, 2 Next |
Page 1 of 2 |
|
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
|
|
|
|