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.