我在Linux环境中使用WAS7.0.0.35(64位)创建MQ操作时遇到了一个问题。
系统配置-
WAS版本:- 7.0.0.35(64位) OS - Redhat EnterpriseLinux5.8 x86_64 WebSphere MQ:-7.5
注意:- MQ和WAS服务器安装在不同的机器上。传输类型TCP用于MQ。
at :Classloader策略在服务器级别是::单类加载模式在服务器级别是::类首先加载了父类加载器。
应用程序级别的类加载器策略是::先加载带有父类加载器的类。
MQ日志,我们发现了以下错误-
进程(8240.4)用户程序(Amqrmppa)主机(MQ-qa1.XXXfintech.com)安装(Installation1) VRMF(7.5.0.0) QMgr(krishnendur.LLLmv.XXXfintech.com)
AMQ9504:检测到通道“CHKMV”的协议错误。
说明:在与远程队列管理器通信期间,通道程序检测到协议错误。故障类型为11,关联数据为0。操作:请与系统管理员联系,系统管理员应检查错误日志以确定故障原因。
应用程序日志中的错误-
2015-08-19 13:43:37,835-警告10-com.abc.AspectFailOver.ajc$before$com_XXX__AspectFailOver$3$73ca82ff(){82}-Generic -bContainer: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日志中,我们发现了错误代码-
JMS系统Num概述。连接:1 Num。会议:0 Num。消费者:0。生产者:0
.queueManagerName :- XXXst2.XXXmv.AAAfintech.com
XMSC_CONNECTION_TYPE :- 1
XMSC_CONNECTION_TYPE_NAME :- com.ibm.msg.client.wmq
感谢和问候,
克里希南杜
发布于 2017-02-02 00:34:54
造成此问题的原因是IBM MQ APAR "IV36766: MQV7.0.0.0连接到MQV7.1QMGR的JAVA客户端应用程序获得AMQ9504协议错误;FDC有探测IDS RM680037 RM039000“。
问题摘要
受影响的用户:
连接到v7.1或v7.5队列管理器的Java客户端的用户可能会受到此问题的影响。
受影响的平台:
全分布式(iSeries、所有Unix和Windows)
问题摘要:
在V7.0.0.0JMS客户端流中存在一个错误,该错误在以后版本的代码中得到了修复。在早于v7.1的队列管理器上,未检测到无效流。
在v7.1中添加代码以检测和报告无效流,此检测导致产生rrcE_PROTOCOL_ERROR FDCs。
问题结论
队列管理器报告无效流是正确的行为,因此此代码更改不会被恢复。
该问题的建议解决方案是将任何仍在v7.0.0.0的客户端升级到更晚的版本,因为在v7.0.1.0或更高版本的客户端版本包含对客户端代码的修复,这样它就不会向队列管理器发送无效的流。
还需要注意的是,MQV7.0在2015年9月30日结束服务,但如果包含在受支持的WAS版本中,则将继续支持,直到WAS版本是EOS为止。
https://stackoverflow.com/questions/32332795
复制相似问题