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 PublisherFactory( IRecordedEventSerializer serializer, PublisherConfiguration configuration, ILoggerFactory loggerFactory) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); _loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); Settings = new ProducerSettings(configuration.Brokers); }