无法从WAS7

时间:2015-09-01 13:21:28

标签: websphere ibm-mq

我在Linux环境中使用WAS 7.0.0.35(64位)创建MQ操作时遇到问题。

系统配置 -

WAS版本: - 7.0.0.35(64位) 操作系统 - Redhat Enterprise Linux 5.8 x86_64 WebSphere MQ:-7.5

注意: - MQ和WAS服务器安装在不同的机器上。传输类型TCP用于MQ。

WAS配置: 服务器级别的类加载器策略是:: Single 服务器级别的类加载模式是::首先使用父类加载器加载的类。

应用程序级别的类加载器策略是::首先使用父类加载器加载的类。

我们发现错误后的MQ日志 -

流程(8240.4)用户(mqm)程序(amqrmppa) 主机(mq-qa1.XXXfintech.com)安装(安装1) VRMF(7.5.0.0)QMgr(krishnendur.LLLmv.XXXfintech.com)

AMQ9504 :检测到频道' CHKMV'的协议错误。

说明: 在与远程队列管理器通信期间,通道程序 检测到协议错误。失败类型为11,关联数据为0。 行动: 请与应检查错误日志的系统管理员联系 确定失败的原因。

应用程序日志中的错误 -

[2015-08-19 13:43:37,835] - [WARN] - [bContainer:10] - [com.abc.AspectFailOver.ajc $ $ $ com_XXX__AspectFailOver $ 3 $ 73ca82ff(){82}] - 通用例外 javax.jms.JMSException:CC = 2; RC = 2009

    at com.abc.inf.QueueConnectionFactoryBean.createQueueConnection(QueueConnectionFactoryBean.java:159)
    at com.abc.inf.JmsConnectionFactoryImpl.newSession(JmsConnectionFactoryImpl.java:67)
    at com.abc.inf.QueueHandler.<init>(QueueHandler.java:115)
    at com.abc.inf.QueueHandlerFactory.getHandler(QueueHandlerFactory.java:51)
    at com.abc.ref.web.base.AbstractWizardController.commitAction(AbstractWizardController.java:1055)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:585)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1694)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1635)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:149)
    ....
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:191)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:516)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:307)
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:84)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1662)

[2015-08-19 13:43:37,837]-[ERROR]-[bContainer : 10]-[applicationclass.QueueXXX.<init>(){118}]-javax.jms.JMSException: CC=2;RC=2009
[2015-08-19 13:43:37,837]-[WARN ]-[bContainer : 10]-[applicationclass.AFOXXX.ajc$before$cxxxxxxx(){82}]-Generic Exception
applicationclass.MKEClass: **Failed To Create MQ Session**
    at applicationclass.QueueXXX.<init>(QueueXXX.java:119)
    at applicationclass.QueueXXXZZZ.getHandler(QueueXXXZZZ.java:51)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:585)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1694)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1635)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:149)
    ....
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:516)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:307)
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:84)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1662)

但是在WAS日志中我们发现了以下错误代码 -

  1. 与MQbind相关的错误代码 ** mqjbnd等级: - CC = 2; RC = 2495; AMQ8568 **

    消息传递提供程序组件: | CMVC: - k700-L080820

    |类名: - 类com.ibm.msg.client.wmq.factories.WMQComponent

    |组件名称: - com.ibm.msg.client.wmq

    |组件标题: - IBM WebSphere MQ

    |工厂类: - 类com.ibm.msg.client.wmq.factories.WMQFactoryFactory

    |版本: - 7.0.0.0

    | mqjbnd级别: - CC = 2; RC = 2495; AMQ8568:原生JNI库&#39; mqjbnd&#39;没找到。 [3 = mqjbnd] :: mqjbnd(在java.library.path中找不到)

    提供商特定信息

    JMS系统概述 民。连接:1 民。会话:0 民。消费者:0 民。制片人:0

    ..... | queueManagerName: - XXXst2.XXXmv.AAAfintech.com

    | XMSC_CONNECTION_TYPE: - 1

    | XMSC_CONNECTION_TYPE_NAME: - com.ibm.msg.client.wmq

  2. 日志中发现的另一个错误代码是 com.ibm.mq.jmqi.remote.internal.RemoteHconn原因代码:2009和compcode:2

                             FFDC 
    

    异常:com.ibm.ws.wmqcsi.trace.WMQClientException SourceId:ProbeId:XN00100C Reporter:java.util.HashMap@24252425 com.ibm.ws.wmqcsi.trace.WMQClientException:

                                    FDCTitle
    

    源类: - com.ibm.msg.client.wmq.internal.WMQConnection

    来源方法: -

    ProbeID: - XN00100C

    线程: - name = WebContainer:10 priority = 5 group = main ccl = com.ibm.ws.classloader.CompoundClassLoader@11621162 [战争:XXXmv-LLL-QA / YYY-tomcat.war]

    ... 家长:com.ibm.ws.classloader.CompoundClassLoader@f120f12 [app:XXXmv-LLL-qa]

    委派模式:PARENT_FIRST

                                      Data
                                      ----
    

    | compcode: - 2 | hconn: - com.ibm.mq.jmqi.remote.internal.RemoteHconn [connectionId = 414D51436E696E7374322E6E696E6D76E4C1905501054F20] | 原因: - 2009

                              Version information
                              -------------------
    

    用于Java消息服务的WebSphere MQ类 7.0.0.0 K700-L080820 生产

    Java消息服务客户端 7.0.0.0 K700-L080820 生产

    IBM WebSphere MQ 7.0.0.0 K700-L080820 生产

    Java平台标准版公共服务 1.0.0.0 K700-L080820 生产

    空 空值 生产

                                  Stack trace
                                  -----------
    

    堆栈跟踪以显示FFST呼叫的位置 | FFST位置: - java.lang.Exception |在com.ibm.msg.client.commonservices.trace.Trace.getCurrentPosition(Trace.java:1671) |在com.ibm.msg.client.commonservices.trace.Trace.createFFSTString(Trace.java:1610) |在com.ibm.msg.client.commonservices.trace.Trace.ffstInternal(Trace.java:1494) |在com.ibm.msg.client.commonservices.trace.Trace.ffst(Trace.java:1353) |在com.ibm.msg.client.wmq.internal.WMQConnection。(WMQConnection.java:438) | at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createV7ProviderConnection(WMQConnectionFactory.java:7855) | at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:7331) | at com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createConnection(JmsConnectionFactoryImpl.java:276) | at com.ibm.mq.jms.MQConnectionFactory.createCommonConnection(MQConnectionFactory.java:6058) | at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:144) |在com.abc.inf.AAAQueueConnectionFactoryBean.makeObject(AAAQueueConnectionFactoryBean.java:221)

  3. 谢谢&amp;的问候,

    Krishnendu

1 个答案:

答案 0 :(得分:0)

此问题的原因是IBM MQ APAR“IV36766: MQ V7.0.0.0 JAVA CLIENT APPLICATION CONNECTING TO MQ V7.1 QMGR GETS AMQ9504 PROTOCOL ERROR; FDC HAS PROBE IDS RM680037 RM039000

  

问题摘要

           

受影响的用户:

     

v7.0.0.0的用户连接到v7.1或v7.5的Java客户端   队列管理器可能会受此问题的影响。

     

受影响的平台:

     

所有分布式(iSeries,所有Unix和Windows)

           

问题摘要:

     

v7.0.0.0 JMS客户端流程中存在一个错误   已在更高版本的代码中修复。在队列管理员之前   比v7.1,未检测到无效流量。

     

在v7.1中添加了代码以检测并报告无效流和此   检测导致生成rrcE_PROTOCOL_ERROR FDC。

     

问题结论

     

队列管理器的行为是正确的   报告无效流,因此未恢复此代码更改。

     

该问题的推荐解决方案是升级任何客户端   客户端发布于v7.0.1.0或更高版本时仍然在v7.0.0.0到更高版本   稍后包含客户端代码的修复程序,以便它不发送   流到队列管理器的流程无效。

另请注意,自2015年9月30日起,MQ v7.0已停止服务,但如果WAS版本为EOS,则在支持的WAS版本中将保留支持。