Hi,

You can raise it to any level if transactions are not involved. The main
purpose of the cache is not to recycle connections, sessions or consumers
and has nothing to do with transactions.

There was a bug in the JMSSpringTemplate which caused connection and session
objects to be recycled pos invocation in the absence of a thread pool. The
side effect of this was since the connection object was recycled, maximum
retry counts for failed transactions was ignored and retries would happen
forever. The reason was that in the absence of a pool/cache, connection
objects were garbage collected and re-created all the time which kept
resetting the retry counter to zero.

If you use local JMS transactions (aka non-XA), you might want to keep the
cache level at CACHE_SESSION at the very least if you have several producers
and consumers under the same session.

For more details, please check out the following thread

http://forum.springsource.org/showthread.php?34180-Transaction-rollback-with-CACHE_NONE-vs-CACHE_CONSUMER-SESSION
http://forum.springsource.org/showthread.php?34180-Transaction-rollback-with-CACHE_NONE-vs-CACHE_CONSUMER-SESSION
 

Cheers,

Ashwin...

-----
---------------------------------------------------------
Ashwin Karpe
Apache Camel Committer & Sr Principal Consultant
FUSESource (a Progress Software Corporation subsidiary)
http://fusesource.com 

Blog: http://opensourceknowledge.blogspot.com 
---------------------------------------------------------
--
View this message in context: 
http://camel.465427.n5.nabble.com/ActiveMQComponent-JmsTransactions-CacheLevel-tp4558968p4561929.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to