amqphub / amqp-10-jms-spring-boot

AMQP 1.0 JMS Binding for Spring Boot
Apache License 2.0
34 stars 25 forks source link

[doubt] - Why using JMS Pool library instead of Spring JMS Caching #6

Closed ricardozanini closed 6 years ago

ricardozanini commented 6 years ago

Hi!

Recently I've pushed a new PR to the ActiveMQ Artemis project with a sample of how to use AMQP with Spring Boot, using your project as reference. A doubt came up regarding the JMS Pool used. I noted that if the org.messaginghub.pooled.jms.JmsPoolConnectionFactory file is presented in the classpath, them you rely on it for pooling.

The commiters are questioning me why use JMS Pool and not Spring own caching JMS feature. Could you help me? Why you decided to rely on JMS Pool (from messagehub) in this project?

Many thanks for your help! And great job with this project. Much appreciated! ;)

tabish121 commented 6 years ago

The JMS pool provides configuration capabilities not available in the CachingConnectionFactory and prevent certain not ideal uses like caching consumer which one should really never do. The code does not preclude you from using the CachingConnectionFactory at all and you can use standard Spring bean trickery to control what is created in you app if you want so if you really need to use CachingConnectionFactory. The PooledJMS library also provides JMS 2.0 functionality which is useful for those want that.