public void Start() { // Don't try creating session if connection not yet up if (!session.IsStarted) { throw new SessionClosedException(); } if (started.CompareAndSet(false, true)) { try { // Create qpid sender Tracer.DebugFormat("Start Producer Id = " + ProducerId.ToString()); if (qpidSender == null) { qpidSender = session.CreateQpidSender(destination.Address); } } catch (Org.Apache.Qpid.Messaging.QpidException e) { throw new NMSException("Failed to create Qpid Sender : " + e.Message); } } }
public void Stop() { if (started.CompareAndSet(true, false)) { try { Tracer.DebugFormat("Stop Producer Id = " + ProducerId); qpidSender.Dispose(); qpidSender = null; } catch (Org.Apache.Qpid.Messaging.QpidException e) { throw new NMSException("Failed to close session with Id " + ProducerId.ToString() + " : " + e.Message); } } }