java - IBM MQ v8 and Glassfish local setup port configuration issue -
given following local setup:
- ibm websphere mq advanced developers v8.0
- payara 4.1.2.172
i'd connect local queue manager via jms on other default port (1414).
in spite added several properties connection factory configure port 1415, seems server still trying connect via port 1414, payara throws java.net.connectexception
.
relevant part of domain.xml:
<connector-connection-pool resource-adapter-name="wmq.jmsra" name="jms/testcp" connection-definition-name="javax.jms.connectionfactory" transaction-support="xatransaction"></connector-connection-pool> <connector-resource pool-name="jms/testcp" jndi-name="jms/testcf"> <property name="transporttype" value="client"></property> <property name="port" value="1415"></property> <property name="channel" value="channel1"></property> <property name="hostname" value="localhost"></property> <property name="localaddress" value="localhost(1415)"></property> <property name="connectionnamelist" value="localhost(1415)"></property> <property name="queuemanager" value="testqm"></property> <property name="username" value="mqm"></property> </connector-resource>
however exception in server.log
suggests resource adapter still wants connect via port 1414:
[2017-08-20t12:41:47.366+0200] [payara 4.1] [severe] [] [javax.enterprise.system.core] [tid: _threadid=63 _threadname=autodeployer] [timemillis: 1503225707366] [levelvalue: 1000] [[ exception while loading app : ejb container initialization error java.lang.exception @ com.sun.enterprise.connectors.inbound.connectormessagebeanclient.setup(connectormessagebeanclient.java:215) @ org.glassfish.ejb.mdb.messagebeancontainer.(messagebeancontainer.java:244) @ org.glassfish.ejb.mdb.messagebeancontainerfactory.createcontainer(messagebeancontainerfactory.java:63) @ org.glassfish.ejb.startup.ejbapplication.loadcontainers(ejbapplication.java:224) @ org.glassfish.ejb.startup.ejbdeployer.load(ejbdeployer.java:290) @ org.glassfish.ejb.startup.ejbdeployer.load(ejbdeployer.java:100) @ org.glassfish.internal.data.moduleinfo.load(moduleinfo.java:206) @ org.glassfish.internal.data.applicationinfo.load(applicationinfo.java:314) @ com.sun.enterprise.v3.server.applicationlifecycle.deploy(applicationlifecycle.java:497) @ com.sun.enterprise.v3.server.applicationlifecycle.deploy(applicationlifecycle.java:220) @ org.glassfish.deployment.admin.deploycommand.execute(deploycommand.java:487) @ com.sun.enterprise.v3.admin.commandrunnerimpl$2$1.run(commandrunnerimpl.java:539) @ com.sun.enterprise.v3.admin.commandrunnerimpl$2$1.run(commandrunnerimpl.java:535) @ java.security.accesscontroller.doprivileged(native method) @ javax.security.auth.subject.doas(subject.java:360) @ com.sun.enterprise.v3.admin.commandrunnerimpl$2.execute(commandrunnerimpl.java:534) @ com.sun.enterprise.v3.admin.commandrunnerimpl$3.run(commandrunnerimpl.java:565) @ com.sun.enterprise.v3.admin.commandrunnerimpl$3.run(commandrunnerimpl.java:557) @ java.security.accesscontroller.doprivileged(native method) @ javax.security.auth.subject.doas(subject.java:360) @ com.sun.enterprise.v3.admin.commandrunnerimpl.docommand(commandrunnerimpl.java:556) @ com.sun.enterprise.v3.admin.commandrunnerimpl.docommand(commandrunnerimpl.java:1464) @ com.sun.enterprise.v3.admin.commandrunnerimpl.access$1300(commandrunnerimpl.java:109) @ com.sun.enterprise.v3.admin.commandrunnerimpl$executioncontext.execute(commandrunnerimpl.java:1846) @ org.glassfish.deployment.autodeploy.autooperation.run(autooperation.java:164) @ org.glassfish.deployment.autodeploy.autodeployer.deploy(autodeployer.java:597) @ org.glassfish.deployment.autodeploy.autodeployer.deployall(autodeployer.java:484) @ org.glassfish.deployment.autodeploy.autodeployer.run(autodeployer.java:412) @ org.glassfish.deployment.autodeploy.autodeployer.run(autodeployer.java:403) @ org.glassfish.deployment.autodeploy.autodeployservice$1.run(autodeployservice.java:233) @ java.util.timerthread.mainloop(timer.java:555) @ java.util.timerthread.run(timer.java:505) caused by: com.ibm.mq.connector.detailedresourceadapterinternalexception: mqjca1011: failed allocate jms connection., error code: mqjca1011 internal error caused attempt allocate connection fail. see linked exception details of failure. @ com.ibm.mq.connector.services.jcaexceptionbuilder.buildexception(jcaexceptionbuilder.java:174) @ com.ibm.mq.connector.services.jcaexceptionbuilder.buildexception(jcaexceptionbuilder.java:135) @ com.ibm.mq.connector.inbound.connectionhandler.allocateconnection(connectionhandler.java:393) @ com.ibm.mq.connector.inbound.messageendpointdeployment.acquireconnection(messageendpointdeployment.java:288) @ com.ibm.mq.connector.inbound.messageendpointdeployment.(messageendpointdeployment.java:228) @ com.ibm.mq.connector.resourceadapterimpl.endpointactivation(resourceadapterimpl.java:531) @ com.sun.enterprise.connectors.inbound.connectormessagebeanclient.setup(connectormessagebeanclient.java:207) ... 31 more caused by: com.ibm.msg.client.jms.detailedillegalstateexception: jmswmq0018: failed connect queue manager '' connection mode 'client' , host name 'localhost(1414)'. check queue manager started , if running in client mode, check there listener running. please see linked exception more information. @ com.ibm.msg.client.wmq.common.internal.reason.reasontoexception(reason.java:489) @ com.ibm.msg.client.wmq.common.internal.reason.createexception(reason.java:215) @ com.ibm.msg.client.wmq.internal.wmqconnection.(wmqconnection.java:413) @ com.ibm.msg.client.wmq.internal.wmqxaconnection.(wmqxaconnection.java:67) @ com.ibm.msg.client.wmq.factories.wmqxaconnectionfactory.createv7providerconnection(wmqxaconnectionfactory.java:188) @ com.ibm.msg.client.wmq.factories.wmqconnectionfactory.createproviderconnection(wmqconnectionfactory.java:7814) @ com.ibm.msg.client.wmq.factories.wmqxaconnectionfactory.createproviderxaconnection(wmqxaconnectionfactory.java:98) @ com.ibm.msg.client.jms.admin.jmsconnectionfactoryimpl.createxaconnectioninternal(jmsconnectionfactoryimpl.java:347) @ com.ibm.mq.jms.mqxaconnectionfactory.createxaconnection(mqxaconnectionfactory.java:131) @ com.ibm.mq.connector.inbound.connectionhandler.allocateconnection(connectionhandler.java:268) ... 35 more caused by: com.ibm.mq.mqexception: jmscmq0001: websphere mq call failed compcode '2' ('mqcc_failed') reason '2538' ('mqrc_host_not_available'). @ com.ibm.msg.client.wmq.common.internal.reason.createexception(reason.java:203) ... 43 more caused by: com.ibm.mq.jmqi.jmqiexception: cc=2;rc=2538;amq9204: connection host 'localhost(1414)' rejected. [1=com.ibm.mq.jmqi.jmqiexception[cc=2;rc=2538;amq9213: communications error 'tcp' occurred. [1=java.net.connectexception[connection refused (connection refused)],3=connnectusinglocaladdress,4=tcp,5=socket.connect]],3=localhost(1414),5=remotetcpconnection.connnectusinglocaladdress] @ com.ibm.mq.jmqi.remote.api.remotefap.jmqiconnect(remotefap.java:2282) @ com.ibm.mq.jmqi.remote.api.remotefap.jmqiconnect(remotefap.java:1294) @ com.ibm.mq.ese.jmqi.interceptedjmqiimpl.jmqiconnect(interceptedjmqiimpl.java:376) @ com.ibm.mq.ese.jmqi.esejmqi.jmqiconnect(esejmqi.java:560) @ com.ibm.msg.client.wmq.internal.wmqconnection.(wmqconnection.java:346) ... 42 more caused by: com.ibm.mq.jmqi.jmqiexception: cc=2;rc=2538;amq9213: communications error 'tcp' occurred. [1=java.net.connectexception[connection refused (connection refused)],3=connnectusinglocaladdress,4=tcp,5=socket.connect] @ com.ibm.mq.jmqi.remote.impl.remotetcpconnection.connnectusinglocaladdress(remotetcpconnection.java:838) @ com.ibm.mq.jmqi.remote.impl.remotetcpconnection.protocolconnect(remotetcpconnection.java:1277) @ com.ibm.mq.jmqi.remote.impl.remoteconnection.connect(remoteconnection.java:863) @ com.ibm.mq.jmqi.remote.impl.remoteconnectionspecification.getsessionfromnewconnection(remoteconnectionspecification.java:409) @ com.ibm.mq.jmqi.remote.impl.remoteconnectionspecification.getsession(remoteconnectionspecification.java:305) @ com.ibm.mq.jmqi.remote.impl.remoteconnectionpool.getsession(remoteconnectionpool.java:146) @ com.ibm.mq.jmqi.remote.api.remotefap.jmqiconnect(remotefap.java:1730) ... 46 more caused by: java.net.connectexception: connection refused (connection refused) @ java.net.plainsocketimpl.socketconnect(native method) @ java.net.abstractplainsocketimpl.doconnect(abstractplainsocketimpl.java:350) @ java.net.abstractplainsocketimpl.connecttoaddress(abstractplainsocketimpl.java:206) @ java.net.abstractplainsocketimpl.connect(abstractplainsocketimpl.java:188) @ java.net.sockssocketimpl.connect(sockssocketimpl.java:392) @ java.net.socket.connect(socket.java:589) @ java.net.socket.connect(socket.java:538) @ com.ibm.mq.jmqi.remote.impl.remotetcpconnection$5.run(remotetcpconnection.java:823) @ com.ibm.mq.jmqi.remote.impl.remotetcpconnection$5.run(remotetcpconnection.java:814) @ java.security.accesscontroller.doprivileged(native method) @ com.ibm.mq.jmqi.remote.impl.remotetcpconnection.connnectusinglocaladdress(remotetcpconnection.java:814) ... 52 more ]]
i'm out of ideas why exception says: jmswmq0018: failed connect queue manager '' connection mode 'client' , host name 'localhost(1414)'.
question 1: why queue manager '' (empty)?
question 2: why host name 'localhost(1414)'?
appreciated!
in reviewing ibm mq v8 knowledge center page "installing , testing resource adapter in glassfish server" appears have wrong property name host name , queue manager. try following config. checkout documentation link above make sure have installed ra , other steps.
<connector-connection-pool resource-adapter-name="wmq.jmsra" name="jms/testcp" connection-definition-name="javax.jms.connectionfactory" transaction-support="xatransaction"></connector-connection-pool> <connector-resource pool-name="jms/testcp" jndi-name="jms/testcf"> <property name="transporttype" value="client"></property> <property name="port" value="1415"></property> <property name="channel" value="channel1"></property> <property name="host" value="localhost"></property> <property name="queuemanager" value="testqm"></property> </connector-resource>
Comments
Post a Comment