JMS 应用程序无法重新连接 IBM MQ



我有 Ibm mq 服务器,我试图从我的应用程序连接到它。我的应用程序部署在 websphere 8.5.5 Im 上,用于使用 spring (JmsTemplate( 连接到 ibm mq 服务器 ibm 实现 (MQQueueConnectionFactory(。

当我在 tomcat 上部署它并尝试连接到远程 ibm mq 服务器时 - 没有问题。我可以沙子并接收来自队列的信息,但是当我在 websphere 上部署应用程序时,我有以下异常:

[1395,maxpri=10]] c.c.b.o.s.impl.StandardSequencer : [ - default - ] Server 1,001 has acquired/renewed the lock on sequencer 1,001. [sequencer:169] [Object=null, Object=null, Object=null, userid=null, uuid=null]
[10/12/18 10:15:59:977 UTC] 000062ea SystemOut O 2018-10-12 10:15:59.977 ERROR 774 --- [enerContainer-1] o.s.j.l.DefaultMessageListenerContainer : Could not refresh JMS Connection for destination 'QUeueTest' - retrying using FixedBackOff{interval=5000, currentAttempts=70, maxAttempts=unlimited}. Cause: JMSFMQ6312: An exception occurred in the Java(tm) MQI.; nested exception is com.ibm.mq.jmqi.JmqiException: CC=2;RC=2195;AMQ9546: Error return code received. [1=java.lang.reflect.InvocationTargetException[null],3=GeneratedConstructorAccessor678.newInstance]

我认为有问题的部分是 lbires,但我知道如何解决它。 所以我想使用 activemq 实现作为客户端来连接到 ibm mq 服务器。 有可能吗? 谢谢你的任何回答。

我解决了这个问题。

该应用程序部署在 Websphere 服务器上。我用所有 jar 部署了它,没有提供范围。这是错误的.当应用程序在服务器上时,只需要wmq.jmsra jars。

<groupId>com.ibm.mq</groupId>
<artifactId>com.ibm.mq.allclient</artifactId>
<version>9.0.4.0</version>
<scope>provided</scope>
</dependency>

<!-- https://mvnrepository.com/artifact/com.ibm.mq/wmq.jmsra -->
<dependency>
<groupId>com.ibm.mq</groupId>
<artifactId>wmq.jmsra</artifactId>
<version>9.0.4.0</version>
<type>rar</type>
<scope>compile</scope>
</dependency>

谢谢你的帮助。

最新更新