Setup of JMS message listener invoker failed for destination 'TESTQUEUE' - trying to recover. Cause: null

1.3k Views Asked by At

My application run well in my local machine and i am able to connect to IBM MQ and poll message. I am facing below issue in polling after i deploy my application on open shift.

Error:

2022-05-03 02:02:24.418 DEBUG 7 --- [           main] o.s.j.c.CachingConnectionFactory         : Established shared JMS Connection: com.ibm.mq.jms.MQConnection@397a10df
2022-05-03 02:02:24.422 DEBUG 7 --- [           main] o.s.j.l.DefaultMessageListenerContainer  : Established shared JMS Connection
2022-05-03 02:02:24.423 DEBUG 7 --- [           main] o.s.j.l.DefaultMessageListenerContainer  : Resumed paused task: org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker@55c46ec1
2022-05-03 02:02:24.623  INFO 7 --- [           main] c.c.com.poc.ibmmq.DemoApplication        : Started DemoApplication in 84.7 seconds (JVM running for 103.063)
2022-05-03 02:02:30.922  WARN 7 --- [enerContainer-1] o.s.j.l.DefaultMessageListenerContainer  : Setup of JMS message listener invoker failed for destination 'TESTQUEUE' - trying to recover. Cause: null

java.lang.NullPointerException: null
    at com.ibm.mq.jms.MQSession.getTransacted(MQSession.java:876) ~[com.ibm.mq.allclient-9.1.5.0.jar!/:9.1.5.0 - p915-L200316]
    at com.ibm.mq.jms.MQSession.<init>(MQSession.java:262) ~[com.ibm.mq.allclient-9.1.5.0.jar!/:9.1.5.0 - p915-L200316]
    at com.ibm.mq.jms.MQConnection.createSession(MQConnection.java:336) ~[com.ibm.mq.allclient-9.1.5.0.jar!/:9.1.5.0 - p915-L200316]
    at org.springframework.jms.connection.SingleConnectionFactory.createSession(SingleConnectionFactory.java:482) ~[spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.springframework.jms.connection.CachingConnectionFactory.getSession(CachingConnectionFactory.java:233) ~[spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.springframework.jms.connection.SingleConnectionFactory$SharedConnectionInvocationHandler.invoke(SingleConnectionFactory.java:649) ~[spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at com.sun.proxy.$Proxy148.createSession(Unknown Source) ~[na:na]
    at org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:208) ~[spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.springframework.jms.listener.DefaultMessageListenerContainer.access$1500(DefaultMessageListenerContainer.java:126) ~[spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.initResourcesIfNecessary(DefaultMessageListenerContainer.java:1213) ~[spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1188) ~[spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1179) ~[spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1076) ~[spring-jms-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]

Code:

My configuration:

 @Bean
    public JmsListenerContainerFactory<?> myFactory(ConnectionFactory connectionFactory, DefaultJmsListenerContainerFactoryConfigurer configurer) {
        DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
       
        setSSLProperties();
 
       configurer.configure(factory,connectionFactory);

        return factory;
    }

Receiver:

 @JmsListener(destination = "${response.queue}", containerFactory = "myFactory")
    public void receiveMessage(JmsMessage test) throws JMSException {
    logger.info("Response Sent {}", test.toString());
}

 
0

There are 0 best solutions below