Dariusz Furmaniak created AMQ-6594:
--------------------------------------
Summary: NPE from PooledConnectionFactory on client reconnect
after broker restart
Key: AMQ-6594
URL: https://issues.apache.org/jira/browse/AMQ-6594
Project: ActiveMQ
Issue Type: Bug
Components: activemq-pool
Affects Versions: 5.14.1, 5.14.0, 5.13.4, 5.13.3, 5.13.1, 5.12.2, 5.13.0,
5.12.1, 5.12.0
Environment: Red Hat Enterprise Linux Server release 6.8 (Santiago)
openjdk version "1.8.0_121"
camel - 2.14.0
activemq-5.13.4
spring-3.1.2
Reporter: Dariusz Furmaniak
I'm upgrading my activemq from 5.10.2 to 5.13.4, but I've run into an issue
with PooledConnectionFactory. It works fine at first, but when the broker is
restarted and clients try to reconnect the factory throws
NullPointerExceptions and clients cannot connect. For regular clients I had
to switch to regular factory, and it works fine, but for my camel clients I
need the pooled factory.
When I replace activemq-jms-pool-5.13.4.jar with 5.10.2, it works fine again
every time.
I have not seen any related bugs reported anywhere except for camel
forum:http://camel.465427.n5.nabble.com/NullPointer-org-apache-camel-component-jms-DefaultJmsMessageListenerContainer-td5788071.html
I've done binary search on releases replacing activemq-jms-pool jars and it
seens that it works in all releases from 5.10.2 to 5.11.4, and throws NPEs in
all releases after 5.12.0.
Traceback:
2017-01-27 15:44:58,875 [Service.uplinkCommsHubConfig.queue]] WARN
ultJmsMessageListenerContainer - Could not refresh JMS Connection for
destination
'CommsHubConfigService.uplinkCommsHubConfig.queue?consumer.prefetchSize=0' -
retrying in 5000 ms. Cause: Error while attempting to add new Connection to the
pool
javax.jms.JMSException: Error while attempting to add new Connection to the pool
at
org.apache.activemq.jms.pool.PooledConnectionFactory.createJmsException(PooledConnectionFactory.java:266)
at
org.apache.activemq.jms.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:225)
at
org.apache.activemq.jms.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:204)
at
org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184)
at
org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:404)
at
org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContainer.java:389)
at
org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:869)
at
org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:851)
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:982)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at
org.apache.activemq.jms.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:223)
... 10 more
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)