Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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);
            }
        }