我在 Jboss EAP 7 上部署了带有 Spring 的 Java 应用程序我正在尝试与 IBM MQ 通信,因此我部署在版本 9.0.0.1 的 Jboss 资源适配器 wmq.jmsra.rar 上,并在我的 java 项目中添加了依赖项:
<dependency>
<groupId>com.ibm.mq</groupId>
<artifactId>com.ibm.mq.connector</artifactId>
<version>9.0.0.1</version>
</dependency>
<dependency>
<groupId>com.ibm.mq</groupId>
<artifactId>com.ibm.mq.allclient</artifactId>
<version>9.0.0.1</version>
</dependency>
我确保这些版本与 allclient 和资源适配器相同。我已经从 ibm 站点下载的 9.0.0.10-IBM-MQ-Install-Java-All 中提取了所需的 allclient jar 和资源适配器。
尝试发送消息时出现以下异常:
Caused by: com.ibm.msg.client.jms.DetailedJMSException: JMSFMQ6312: An exception occurred in the Java(tm) MQI.
jboss_1 | The Java(tm) MQI has thrown an exception describing the problem.
jboss_1 | See the linked exception for further information.
jboss_1 | at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
jboss_1 | at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
jboss_1 | at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
jboss_1 | at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
jboss_1 | at deployment.wmq.jmsra.rar//com.ibm.msg.client.commonservices.j2se.NLSServices.createException(NLSServices.java:319)
jboss_1 | at deployment.wmq.jmsra.rar//com.ibm.msg.client.commonservices.nls.NLSServices.createException(NLSServices.java:226)
jboss_1 | at deployment.wmq.jmsra.rar//com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createV7ProviderConnection(WMQXAConnectionFactory.java:172)
jboss_1 | at deployment.wmq.jmsra.rar//com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:7809)
jboss_1 | at deployment.wmq.jmsra.rar//com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createProviderXAConnection(WMQXAConnectionFactory.java:98)
jboss_1 | at deployment.wmq.jmsra.rar//com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createXAConnectionInternal(JmsConnectionFactoryImpl.java:350)
jboss_1 | at deployment.wmq.jmsra.rar//com.ibm.mq.jms.MQXAConnectionFactory.createXAConnection(MQXAConnectionFactory.java:131)
jboss_1 | at deployment.wmq.jmsra.rar//com.ibm.mq.connector.ConnectionBuilder.createConnection(ConnectionBuilder.java:134)
jboss_1 | ... 63 more
jboss_1 | Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2195;AMQ9546: Error return code received. [1=java.lang.NoSuchMethodException[com.ibm.mq.jmqi.remote.api.RemoteFAP.<init>(com.ibm.mq.jmqi.JmqiEnvironment, int)],3=Class.getConstructor0]
jboss_1 | at deployment.wmq.jmsra.rar//com.ibm.mq.jmqi.JmqiEnvironment.getInstance(JmqiEnvironment.java:793)
jboss_1 | at deployment.wmq.jmsra.rar//com.ibm.mq.jmqi.JmqiEnvironment.getMQI(JmqiEnvironment.java:638)
jboss_1 | at deployment.wmq.jmsra.rar//com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createV7ProviderConnection(WMQXAConnectionFactory.java:164)
jboss_1 | ... 68 more
jboss_1 | Caused by: java.lang.NoSuchMethodException: com.ibm.mq.jmqi.remote.api.RemoteFAP.<init>(com.ibm.mq.jmqi.JmqiEnvironment, int)
jboss_1 | at java.base/java.lang.Class.getConstructor0(Class.java:3349)
jboss_1 | at java.base/java.lang.Class.getConstructor(Class.java:2151)
jboss_1 | at deployment.wmq.jmsra.rar//com.ibm.mq.jmqi.JmqiEnvironment.getInstance(JmqiEnvironment.java:700)
jboss_1 | ... 70 more
我已确保资源适配器具有此特定方法。我还能检查什么?