The documentation in SingleConnectionFactory (super class for CachingConnectionFactory) states:
/// A ConnectionFactory adapter that returns the same Connection
/// from all CreateConnection() calls, and ignores calls to
/// Connection.Close(). According to the JMS Connection
/// model, this is perfectly thread-safe.
While this is true for JMS connections, it does not appear to be true for ActiveMQ connections:
in NMS API
Public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread-safe.
Does this mean I should mark the CachingConnectionFactory object as singleton=false in my configuration so that every class who needs a reference gets a unique instance?