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