We currently use a JMSTemplate102 which looks up a connection factory out of Websphere.
Websphere is pooling connections and sessions for us and that is working well.
We have noticed however that this process is creating and throwing away Message Producers for every message, which is causing high load on our EMS server.
I have been looking at introducing the Spring CachingConnectionFactory, which seems to add the the required cache of producers.
However, CachingConnectionFactory inherits from SingleConnectionFactory so I guess we would lose the option of accessing the connection pool if we wrapped our underlying connection factory with the CachingConnectionFactory. It would constantly return the same connection.
The question is, is there a connection factory implementation that will allow us to both access our underlying connection pool and cache message producers?
[Edit.... Having checked some more, the JMSTemplate102.java is creating and throwing away the message producers internally. Is this where the plan falls down, i.e. even if the CachingConnectionFactory is caching them, the template makes no attempt to access that cache? Is the answer to move away from JMSTemplate altogether to a custom send?? Confused ]
Thanks in advance