I wrote a JMS application that runs within a web service in Glassfish (also deployed it in JBoss), I noticed that after I process several messages through a MessageListener MDP, the JMS server runs out of connections!
Tried it with both Apache ActiveMQ and Glassfish internal JMS broker (openMQ?)
Is there a way to check why this is happening? If this is the default behavior of JmsTemplate, what is my alternative for developing JMS producers and consumers the right way?
Thanks!
The spring JMSTemplate will close and create all resources (Connections, Consumers, Producers ..) each time it receives or sends a message. This will be a huge performance bottleneck if you are not using pooled Connections, Sessions, Consumers .... .
Having said that, yes the JMSTemplate should close your connection each time.
Yes, the connection gets closed. See the code of the execute method:
JmsUtils.closeSession(sessionToClose);
ConnectionFactoryUtils.releaseConnection(
conToClose, getConnectionFactory(), startConnection);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With