Ejemplo n.º 1
0
        public void Process(IMessageQueueClient mqClient)
        {
            try
            {
                bool hadReceivedMessages;
                do
                {
                    hadReceivedMessages = false;

                    byte[] messageBytes;
                    while ((messageBytes = mqClient.GetAsync(QueueNames <T> .Priority)) != null)
                    {
                        this.TotalPriorityMessagesReceived++;
                        hadReceivedMessages = true;

                        var message = messageBytes.ToMessage <T>();
                        ProcessMessage(mqClient, message);
                    }

                    while ((messageBytes = mqClient.GetAsync(QueueNames <T> .In)) != null)
                    {
                        this.TotalNormalMessagesReceived++;
                        hadReceivedMessages = true;

                        var message = messageBytes.ToMessage <T>();
                        ProcessMessage(mqClient, message);
                    }
                } while (hadReceivedMessages);
            }
            catch (Exception ex)
            {
                var lastEx = ex;
                Log.Error("Error serializing message from mq server: " + lastEx.Message, ex);
            }
        }
Ejemplo n.º 2
0
        public int ProcessQueue(IMessageQueueClient mqClient, string queueName, Func <bool> doNext = null)
        {
            var msgsProcessed = 0;

            try
            {
                byte[] messageBytes;
                while ((messageBytes = mqClient.GetAsync(queueName)) != null)
                {
                    var message = messageBytes.ToMessage <T>();
                    ProcessMessage(mqClient, message);

                    this.TotalNormalMessagesReceived++;
                    msgsProcessed++;
                    if (doNext != null && !doNext())
                    {
                        return(msgsProcessed);
                    }
                }
            }
            catch (Exception ex)
            {
                var lastEx = ex;
                Log.Error("Error serializing message from mq server: " + lastEx.Message, ex);
            }

            return(msgsProcessed);
        }
Ejemplo n.º 3
0
        public int ProcessQueue(IMessageQueueClient mqClient, string queueName, Func <bool> doNext = null)
        {
            var msgsProcessed = 0;

            try
            {
                IMessage <T> message;
                while ((message = mqClient.GetAsync <T>(queueName)) != null)
                {
                    ProcessMessage(mqClient, message);

                    msgsProcessed++;

                    if (doNext != null && !doNext())
                    {
                        return(msgsProcessed);
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Error("Error serializing message from mq server: " + ex.Message, ex);
            }

            return(msgsProcessed);
        }
Ejemplo n.º 4
0
 public byte[] GetAsync(string queueName)
 {
     return(_innerClient.GetAsync(queueName));
 }