SpringBoot JMS侦听器:无法刷新目标的JMS连接

时间:2018-07-11 13:50:34

标签: spring-boot ibm-mq spring-jms websphere-8 spring-boot-gradle-plugin

我有一个Spring Boot应用程序,它通过组件类中的@JmsListener注释侦听IBM MQ Queue。 MQ属性(主机名,通道,端口等)是从 yaml 文件设置的。

 @JmsListener(destination = "<QueueName>")
 public void receiveMessage(BytesMessage msg) { 
     //snippet to read msg
 }

MQ依赖项如下所示在gradle构建中添加,

compile("com.ibm.mq:mq-jms-spring-boot-starter:0.0.2") {  
        exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
    }

只要我在带有Tomcat容器的本地应用程序上运行该应用程序,它就可以正常工作并监听消息。但是,如果我将其打包为EAR并部署到Wesbphere8.5服务器,它将抛出以下异常,并且侦听器不会从队列中读取消息。我确认所有运行时依赖项都打包在EAR中。尝试了不同版本的MQ依赖关系,但没有运气。

  

2018-07-10 15:21:16,531错误DefaultMessageListenerContainer-无法刷新目标'QueueName'的JMS连接-   使用FixedBackOff {interval = 5000,currentAttempts = 34,重试   maxAttempts = unlimited}。原因:JMSFMQ6312:发生异常   Java(tm)MQI。嵌套的异常是com.ibm.mq.jmqi.JmqiException:   CC = 2; RC = 2195; AMQ9546:收到错误返回码   [1 = java.lang.reflect.InvocationTargetException [null],3 = NativeConstructorAccessorImpl.newInstance0]

需要帮助来解决此问题。

0 个答案:

没有答案