title: Is ActiveMQ thread safe?
body: <p>We would like to run our <code>cms::MessageConsumer</code> and <code>cms::MessageProducer</code> on different threads of the same process.</p>
  
  <p>How do we do this safely?</p>
  
  <p>Would having two <code>cms::Connection</code> objects and two <code>cms::Session</code> objects, one each for consumer and producer, be sufficient to guarantee safety? Is this necessary?</p>
  
  <p>Is there shared state between objects at the static library level that would prevent this type of usage? </p>