// 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); } } } }
/// <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)); }