Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pooled Connection Factory for ActiveMQ Artemis

Is there an equivalent to the ActiveMQ 5 PooledConnectionFactory for Artemis? Why is it available in one and not the other?

Spring, for example, offers a generic CachingConnectionFactory. This is great, but it implements the SingleConnectionFactory and only "pools" one connection.

It would be key to have a similar mechanism in the Artemis client that actually pooled greater than one connections.

Another thought is that maybe it's not implemented because a single connection supports concurrent sessions! I haven't tested the performance of a using a new connection per session. Is the performance the same or similar?

like image 909
Dovmo Avatar asked Jan 28 '23 07:01

Dovmo


1 Answers

The PooledConnectionFactory in the ActiveMQ 5.x code-base is generic and can actually be used with ActiveMQ Artemis so there was no reason to port it into the Artemis code-base. That said, the JMS connection pool implementation has been pulled out of the ActiveMQ 5.x code-base, cleaned up, modified to support JMS 2, and made available here.

I'm not clear on what you mean by "concurrent sessions." Do you mean that the connection supports concurrently creating session or that the sessions themselves support concurrent use? The former is supported, but the latter is not.

In terms of performance, you'd have to benchmark your specific use-case. There are too many variables to simply say one is better than the other.

like image 116
Justin Bertram Avatar answered Jan 31 '23 09:01

Justin Bertram