private IRabbitMessage MessageConverter(TArgs args) { return(RabbitMessage.WithMessageId(args.ActivityId) .PayloadIsJsonOf(args)); }
public void Publish(RabbitMessage msg) { this.Send(msg); }
private void NotifyConsumerOfMessage(string consumerTag, IBasicConsumer consumer, RabbitMessage message) { Interlocked.Increment(ref _lastDeliveryTag); var deliveryTag = Convert.ToUInt64(_lastDeliveryTag); const bool redelivered = false; var exchange = message.Exchange; var routingKey = message.RoutingKey; var basicProperties = message.BasicProperties ?? CreateBasicProperties(); var body = message.Body; Func <ulong, RabbitMessage, RabbitMessage> updateFunction = (key, existingMessage) => existingMessage; WorkingMessages.AddOrUpdate(deliveryTag, message, updateFunction); consumer.HandleBasicDeliver(consumerTag, deliveryTag, redelivered, exchange, routingKey, basicProperties, body); }
private static void OnMessage(RabbitMessage msg) { var str = msg.Read <string>(); Console.WriteLine("Message received: {0}", str); }
private async Task ProcessingTaskAsync(RabbitMessage message) { if (message.Body is null) { RabbitMessage.Return(message); return; } try { Core.Log.LibVerbose("Received {0} bytes from the Queue '{1}/{2}'", message.Body.Length, _receiver.Route, _receiver.Name); Counters.IncrementTotalReceivingBytes(message.Body.Length); if (ResponseServer) { var evArgs = new RawResponseReceivedEventArgs(_name, message.Body, message.CorrelationId, message.Body.Length) { Metadata = { ["AppId"] = message.Properties.AppId, ["ContentEncoding"] = message.Properties.ContentEncoding, ["ContentType"] = message.Properties.ContentType, ["DeliveryMode"] = message.Properties.DeliveryMode.ToString(), ["Expiration"] = message.Properties.Expiration, ["Priority"] = message.Properties.Priority.ToString(), ["Timestamp"] = message.Properties.Timestamp.ToString(), ["Type"] = message.Properties.Type, ["UserId"] = message.Properties.UserId, ["ReplyTo"] = message.Properties.ReplyTo, ["MessageId"] = message.Properties.MessageId } }; await OnResponseReceivedAsync(evArgs).ConfigureAwait(false); } else { var evArgs = new RawRequestReceivedEventArgs(_name, _receiver, message.Body, message.CorrelationId, message.Body.Length) { Metadata = { ["AppId"] = message.Properties.AppId, ["ContentEncoding"] = message.Properties.ContentEncoding, ["ContentType"] = message.Properties.ContentType, ["DeliveryMode"] = message.Properties.DeliveryMode.ToString(), ["Expiration"] = message.Properties.Expiration, ["Priority"] = message.Properties.Priority.ToString(), ["Timestamp"] = message.Properties.Timestamp.ToString(), ["Type"] = message.Properties.Type, ["UserId"] = message.Properties.UserId, ["ReplyTo"] = message.Properties.ReplyTo, ["MessageId"] = message.Properties.MessageId } }; await OnRequestReceivedAsync(evArgs).ConfigureAwait(false); } Counters.IncrementTotalMessagesProccesed(); } catch (Exception ex) { Counters.IncrementTotalExceptions(); Core.Log.Write(ex); Interlocked.Exchange(ref _exceptionSleep, 1); } finally { RabbitMessage.Return(message); } }
public async Task SaveMessageAsync(RabbitMessage message) { var date = DateTime.UtcNow.Date; var timestamp = (long)DateTime.UtcNow.ToUnixTime(); await _messageRepository.SaveAsync(message.ExchangeName, date, timestamp, message.Payload); }
public void Publish(RabbitMessage msg) { var sender = new Sender(ctx); sender.Send(msg); }