访问通道

时间:2015-10-29 09:24:56

标签: jms ibm-mq

我在Unix系统中使用IBM Websphere MQ 7.5 。我在我的机器上安装了客户端,服务器在其他机器上运行。我正在观察一个场景,当我通过&m; mqm'运行我的 JMS应用程序时,我可以与服务器进行通信。用户,但在使用其他用户时面临下述错误。

但我可以运行' amqsputc'和' amqsgetc'命令并使用mqm以及其他用户与服务器通信。我已按照http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.ins.doc/q009300_.htm?lang=en

提到的所有步骤进行操作

例外:
com.ibm.msg.client.jms.DetailedJMSSecurityException:JMSWMQ2013:为QueueManager提供的安全认证无效' TestManager'使用连接模式'客户端'和主机名' x.x.x.x(9923)'。 请检查所连接的QueueManager上提供的用户名和密码是否正确。     在com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:521)     在com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:221)     在com.ibm.msg.client.wmq.internal.WMQConnection。(WMQConnection.java:426)     at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createV7ProviderConnection(WMQConnectionFactory.java:6902)     at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6277)     at com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createConnection(JmsConnectionFactoryImpl.java:285)     at com.ibm.mq.jms.MQConnectionFactory.createCommonConnection(MQConnectionFactory.java:6233)     在com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:120)     at com.ibm.mq.jms.MQQueueConnectionFactory.createConnection(MQQueueConnectionFactory.java:203)     at performance.IBMMQTestProducer.start(IBMMQTestProducer.java:142)     at performance.IBMMQTestProducer.main(IBMMQTestProducer.java:177)

引起:com.ibm.mq.MQException:JMSCMQ0001:WebSphere MQ调用失败,包含compcode' 2' (' MQCC_FAILED')原因' 2035' (' MQRC_NOT_AUTHORIZED&#39)。     在com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:209)     ... 9 mo re 引起:com.ibm.mq.jmqi.JmqiException:CC = 2; RC = 2035; AMQ9509:程序无法打开队列管理器对象。 [1 = 2035,5 = ???]     在com.ibm.mq.jmqi.internal.JmqiTools.getQueueManagerInfo(JmqiTools.java:783)     在com.ibm.mq.jmqi.remote.impl.RemoteSession.loadInfo(RemoteSession.java:1993)     在com.ibm.mq.jmqi.remote.impl.RemoteSession.getName(RemoteSession.java:2026)     在com.ibm.mq.jmqi.remote.api.RemoteHconn.getName(RemoteHconn.java:728)     在com.ibm.mq.ese.intercept.JmqiConnInterceptorImpl.validate(JmqiConnInterceptorImpl.java:321)     在com.ibm.mq.ese.intercept.JmqiConnInterceptorImpl.afterConnect(JmqiConnInterceptorImpl.java:226)     在com.ibm.mq.ese.intercept.JmqiConnInterceptorImpl.afterJmqiConnect(JmqiConnInterceptorImpl.java:133)     在com.ibm.mq.ese.jmqi.InterceptedJmqiImpl.jmqiConnect(InterceptedJmqiImpl.java:315)     在com.ibm.mq.ese.jmqi.ESEJMQI.jmqiConnect(ESEJMQI.java:337)

谢谢,
Anuj

2 个答案:

答案 0 :(得分:0)

鉴于您已告诉我们您已成功连接并运行amqsgetcamqsputc客户端样本,并使用与您尝试用于JMS程序的相同服务器连接通道,这表明这不是连接时间问题,换句话说,队列管理器的MQCONN已经成功,后面的事情就失败了。我们知道您可以MQPUTMQGET(因为这是上述示例所做的)。

JMS执行的那些简单示例不做的事情是队列管理器的MQINQ。您的异常的以下部分让我想知道您是否正在绊倒: -

Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2035;
AMQ9509: Program cannot open queue manager object. [1=2035,5=???] at 
com.ibm.mq.jmqi.internal.JmqiTools.getQueueManagerInfo(JmqiTools.java:783) at 

要完全确定,您必须检查队列管理器AMQERR01.LOG以查看其中的报告内容。如果缺少授权,那么它会在那里告诉你。

答案 1 :(得分:0)

当我像自己一样跑步并且通过“mqm”时,我能够运行它。何时开始连接。 connection = cf.createConnection(" mqm"," pswd");

我在经理的日志中没有得到任何东西。以下是日志。

10/30/2015 06:50:54 AM - 流程(31064.1)用户(mqm)程序(strmqm)                     主机(x.x.x.x)安装(安装1)                     VRMF(7.5.0.2) AMQ7125:此版本的WebSphere副本在试用期内还剩83天 MQ。

说明: 此WebSphere MQ副本仅在有限时间内获得许可。 行动: 无。