> if you're using a pool, usually the pool is in charge of shutting down
connections. 
I am using the Spring pool:
org.springframework.jms.connection.CachingConnectionFactory

And yes, I think the order is incorrect, what I can tell from the logging.
>From the logging:
-----
 13:43:53.103 [Thread-7]  INFO  o.s.b.f.s.DefaultListableBeanFactory -
Destroying singletons in .....
 13:43:53.103 [Thread-7]  DEBUG o.s.b.f.s.DisposableBeanAdapter - Invoking
destroy method 'destroy' on    bean with name 'jmsBroker'
...
13:43:53.123 [xecutor: vm://localhost#0]  WARN 
o.s.j.c.CachingConnectionFactory - Encountered a JMSException - resetting
the underlying JMS Connection
javax.jms.JMSException: peer (vm://localhost#1) stopped.
 >>> EXCEPTION  <<<
.....
13:43:53.602 [Thread-7]  DEBUG o.s.b.f.s.DisposableBeanAdapter - Invoking
destroy() on bean with name 'jmsConnectionFactory' (CachingConnectionFactory
)
-------

I think 
1) It should first call the destroy on the CachingConnectionFactory  and
then on the jms Broker. 
2) Or the jms broker should leave alone the CachingConnectionFactory when
it's being stopped?

I went for 1) by putting a "depends-on" on the CachingConnectionFactory bean
to the jms broker bean such that the broker always is created before the
connection factory. And Spring always (tries) to destroy the beans in the
reversed order they were created.

And it works ;)

(BTW: any idea what changed such that I didn't got this exception in 5.7.0?)
BTW: The above exception occurred with the shutdown hook on the Spring
context (not on the broker).

Thanks for the advice.



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/When-will-activemq-core-5-9-be-present-in-maven-central-repo-tp4675087p4675246.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to