public bool Announce(IMessage message, IMessageSettingsOut messageSettings) { _processor.Type = messageSettings.MessageSettings["produce.ontopic"]; var valueToSend = JsonHelperSerialiser.ToJson(message, JsonHelperSerialiserSettings.CamelCaseSerialiseSettings); var deliveryReport = producer.ProduceAsync(messageSettings.MessageSettings["produce.ontopic"], null, valueToSend); var result = deliveryReport.ConfigureAwait(false).GetAwaiter().GetResult(); // synchronously waits for message to be produced. if (result.IsSuccess()) { producer.Flush(TimeSpan.FromSeconds(10)); var messageToLog = new AllsaintsMessageLogger.LogMessage() { Id = message.Id, DateStampUtc = message.DateStampUtc, IsTest = message.IsTest, Message = message, }; _messageLogger.LogMessage(EventTypes.Sent, _processor, messageToLog); return(true); } else { OnError(result.Error.ToString()); return(false); } }
private void Consumer_OnMessage(object sender, Message <string, string> msg) { var messageObject = JsonHelperSerialiser.FromJson <T>(msg.Value, JsonHelperSerialiserSettings.CamelCaseSerialiseSettings); OnMessage(messageObject); var committedOffsets = consumer.CommitAsync(msg).ConfigureAwait(false).GetAwaiter().GetResult(); // synchronously waits for message to be produced. var messageToLog = new AllsaintsMessageLogger.LogMessage() { Id = messageObject.Id, DateStampUtc = messageObject.DateStampUtc, IsTest = messageObject.IsTest, Message = messageObject, }; _messageLogger.LogMessage(EventTypes.Reveived, _processor, messageToLog); }