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); } }
public AnnouncerShould() { hostSettings = new ProviderHostSettings(kafkaHost); messageSettings = new MessageSettingsOut(produceOnTopic); processor = new Processor(); }
public bool Announce(IMessage message, IMessageSettingsOut messageSettings) { broker.AnnouncerReceiveMessage(message, messageSettings); return(true); }