【发布时间】:2019-06-01 14:15:55
【问题描述】:
我在尝试向 IBM MQ 发送消息时遇到以下错误,我在 Websphere 上创建了一个队列连接工厂,该工厂经过测试并成功连接到部署的 MQ,然后我通过 jndi 名称查找它。
我使用 ibm.mq.allclient 作为 Gradle 依赖项。
我将不胜感激。
org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is com.ibm.msg.client.jms.DetailedJMSException: JMSFMQ6312: An exception occurred in the Java(tm) MQI.
The Java(tm) MQI has thrown an exception describing the problem.
See the linked exception for further information.; nested exception is com.ibm.mq.jmqi.JmqiException: CC=2;RC=2195;AMQ9546: Error return code received. [1=java.lang.reflect.InvocationTargetException[null],3=NativeConstructorAccessorImpl.newInstance0]
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:316)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:169)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:487)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:570)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at java.lang.reflect.Method.invoke(Method.java:508)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1232)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:781)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:480)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:108)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:115)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:59)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:90)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:108)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3928)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1007)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:287)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R Caused by: com.ibm.msg.client.jms.DetailedJMSException: JMSFMQ6312: An exception occurred in the Java(tm) MQI.
The Java(tm) MQI has thrown an exception describing the problem.
See the linked exception for further information.
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:88)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:57)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at java.lang.reflect.Constructor.newInstance(Constructor.java:437)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.msg.client.commonservices.j2se.NLSServices.createException(NLSServices.java:314)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.msg.client.commonservices.nls.NLSServices.createException(NLSServices.java:228)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createV7ProviderConnection(WMQXAConnectionFactory.java:175)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6200)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createProviderXAConnection(WMQXAConnectionFactory.java:102)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createXAConnectionInternal(JmsConnectionFactoryImpl.java:364)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.mq.jms.MQXAConnectionFactory.createXAConnection(MQXAConnectionFactory.java:98)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ejs.jms.JMSManagedConnection.createConnection(JMSManagedConnection.java:1499)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ejs.jms.JMSManagedConnection.<init>(JMSManagedConnection.java:352)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ejs.jms.JMSManagedConnectionFactory.createUnifiedManagedConnection(JMSManagedConnectionFactory.java:1301)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ejs.jms.JMSManagedConnectionFactory.createManagedConnection(JMSManagedConnectionFactory.java:682)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ejs.jms.WMQJMSRAManagedConnectionFactory.createManagedConnection(WMQJMSRAManagedConnectionFactory.java:704)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ejs.j2c.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:2161)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ejs.j2c.FreePool.createOrWaitForConnection(FreePool.java:1839)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:3818)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:3094)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:1548)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:1031)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.ejs.jms.JMSConnectionFactoryHandle.createConnection(JMSConnectionFactoryHandle.java:256)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:180)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:474)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R ... 75 more
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2195;AMQ9546: Error return code received. [1=java.lang.reflect.InvocationTargetException[null],3=NativeConstructorAccessorImpl.newInstance0]
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.mq.jmqi.JmqiEnvironment.processESESecurity(JmqiEnvironment.java:987)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.mq.jmqi.JmqiEnvironment.getInstance(JmqiEnvironment.java:832)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.mq.jmqi.JmqiEnvironment.getMQI(JmqiEnvironment.java:655)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createV7ProviderConnection(WMQXAConnectionFactory.java:167)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R ... 93 more
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R Caused by: java.lang.reflect.InvocationTargetException
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:88)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:57)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at java.lang.reflect.Constructor.newInstance(Constructor.java:437)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R at com.ibm.mq.jmqi.JmqiEnvironment.processESESecurity(JmqiEnvironment.java:906)
[1/6/19 19:32:45:710 EET] 00000245 SystemErr R ... 96 more
【问题讨论】:
-
类路径中有 Oracle jms.jar 吗?如果不添加来自 IBM 提供程序 mq 客户端安装的 jms.jar 2.0,则可以是完整客户端、redist 客户端或 java-all 客户端。如果您确实有 Oracle jms.jar,请检查 manifest.mf 以确保它是 2.0 版本。还要检查您是否除了 allclient 之外没有其他 com.ibm.mq*.jar 文件。 2195 是一个非常普遍的错误,它只是意味着意外错误,但在许多情况下,这意味着您混合了来自不同 mq 客户端版本的 jar。
-
您根据我的评论找到问题了吗?如果是这样,请告诉我,以便我可以写下那部分作为答案。
-
确实问题与 ibm.mq jar 文件有关。我从类路径中删除了每个 jar 文件,包括所有客户端 jar。然后我在 WebSphere 中添加了已安装的 IBM mq 客户端的 jar。我在
C:\Program Files (x86)\IBM\WebSphere\AppServer\installedConnectors下找到了这些jar,有一个名为wmq.jmsra的文件夹。它奏效了。非常感谢您的帮助 -
如果我只是完成我的评论作为答案,你会接受吗?
-
是的,肯定你的回答把我引向了正确的方向,一开始,我以为我应该得到原生mqjbnd库的路径并在创建连接工厂时添加它,我没想到这将是混合罐子问题。
标签: spring spring-boot websphere ibm-mq