Esempio n. 1
0
        // ReSharper disable once InconsistentNaming
        protected override void Retrieve(IConnection mq, Func <string, bool> func, bool noAck)
        {
            using (var ch = DefaultMessageQueue.CreateModel())
            {
                var message = ch.BasicGet(ConfigEntity.QueueName, noAck);
                if (message == null)
                {
                    return;
                }

                var result = func(Encoding.UTF8.GetString(message.Body));
                if (!noAck)
                {
                    if (result)
                    {
                        ch.BasicAck(message.DeliveryTag, false);
                    }
                }
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Receives a message on the default message queue using the transactional settings as dicted by MessageQueue's Transactional property and
 /// the current Spring managed ambient transaction.
 /// </summary>
 /// <returns>A message.</returns>
 public Message Receive()
 {
     return(DefaultMessageQueue.Receive(ReceiveTimeout));
 }