Example #1
0
        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>();
        }
Example #2
0
        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);
        }