public void CreateSubscriber(Common.Transport.IMessageListener listener) { if (!subscribers.ContainsKey(subscribeTopic)) { subscribers.Add(subscribeTopic, new List <IMessageListener>()); } List <IMessageListener> listeners = subscribers[subscribeTopic]; if (!listeners.Contains(listener)) { IDestination dest = session.GetTopic(subscribeTopic); IMessageConsumer consumer = session.CreateConsumer(dest); consumer.Listener += new MessageListener(consumer_MessageListener2); listeners.Add(listener); consumers[listener] = consumer; } }
public void RemoveSubscriber(Common.Transport.IMessageListener listener) { if (!subscribers.ContainsKey(subscribeTopic)) { return; } List <IMessageListener> listeners = subscribers[subscribeTopic]; if (listeners.Contains(listener)) { if (!consumers.ContainsKey(listener)) { return; } IMessageConsumer consumer = consumers[listener]; consumer.Listener -= consumer_MessageListener2; consumers.Remove(listener); listeners.Remove(listener); } }
public void CreateReceiver(Common.Transport.IMessageListener listener) { if (!receivers.ContainsKey(receiveQueue)) { IDestination dest = session.GetQueue(receiveQueue); IMessageConsumer newConsumer = session.CreateConsumer(dest); receivers.Add(receiveQueue, newConsumer); } IMessageConsumer consumer = receivers[receiveQueue]; if (listener == null) { consumer.Listener -= consumer_MessageListener1; } else { this.receiverListener = listener; consumer.Listener += new MessageListener(consumer_MessageListener1); } }