Spring Template is causing the consumer and session object to close— its how its designed. Try CACHE_CONSUMER or if you can avoid using Spring JMS Template altogether.
For certain— every Spring JMS Template user should use connection pooling to help mitigate the object thrashing. YMMV— a significant number of our support and perf issues reported to us on ActiveMQ are root caused by Spring JMS Template on the consumer side and frameworks that use it (camel-jms). Spring JMS Template suffers from high latency and prevents the performance benefits of caching and prefetch from being realized. -Matt Pavlovich > On Jan 29, 2021, at 12:11 AM, Michel Jung <michel.jun...@gmail.com> wrote: > > I should have mentioned that I'm using Spring Integration's > DefaultMessageListenerContainer with cacheLevel set to CACHE_CONNECTION. > > On Fri, 29 Jan 2021, 07:04 Michel Jung, <michel.jun...@gmail.com> wrote: > >> Hi, >> >> I have 3 queues, 1 consumer per queue and a default prefetch size of 1. >> The way I understand it, the broker should push to the consumers rather >> than the consumers pulling. >> >> Yet, I see that, every second, each consumer is removed and immediately >> re-added. >> >> Is this expected? How can I avoid this? >> >> Kind regards >> Michel >>