public EventPublisher( ProducerSettings settings, string topic, IRecordedEventSerializer serializer, ILoggerFactory loggerFactory) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } if (string.IsNullOrEmpty(topic)) { throw new ArgumentNullException(nameof(settings)); } if (loggerFactory == null) { throw new ArgumentNullException(nameof(loggerFactory)); } _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); _kafkaProducer = new KafkaProducer(settings, topic, loggerFactory); _logger = loggerFactory.CreateLogger <EventPublisher>(); }
public KafkaProducer(ProducerSettings settings, string topic, ILoggerFactory loggerFactory) { if (string.IsNullOrEmpty(topic)) { throw new ArgumentException("Topics not specified.", nameof(topic)); } if (string.IsNullOrWhiteSpace(settings.Config.BootstrapServers)) { throw new ArgumentException("Servers are not specified."); } _topic = topic; _logger = loggerFactory.CreateLogger <KafkaProducer>(); _producer = new ProducerBuilder <byte[], byte[]>(settings.Config).Build(); }