示例#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>();
        }
示例#2
0
        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();
        }