Ejemplo n.º 1
0
 public static void SetEventsHandlers(
     this IConfluentProducerBuilder producerBuilder,
     KafkaProducer producer,
     ISilverbackIntegrationLogger logger) =>
 producerBuilder
 .SetStatisticsHandler((_, statistics) => OnStatistics(statistics, producer, logger))
 .SetLogHandler((_, logMessage) => OnLog(logMessage, producer, logger));
Ejemplo n.º 2
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="KafkaProducer" /> class.
        /// </summary>
        /// <param name="broker">
        ///     The <see cref="IBroker" /> that instantiated this producer.
        /// </param>
        /// <param name="endpoint">
        ///     The endpoint to produce to.
        /// </param>
        /// <param name="behaviorsProvider">
        ///     The <see cref="IBrokerBehaviorsProvider{TBehavior}" />.
        /// </param>
        /// <param name="serviceProvider">
        ///     The <see cref="IServiceProvider" /> to be used to resolve the required services.
        /// </param>
        /// <param name="logger">
        ///     The <see cref="ISilverbackIntegrationLogger" />.
        /// </param>
        public KafkaProducer(
            KafkaBroker broker,
            KafkaProducerEndpoint endpoint,
            IBrokerBehaviorsProvider <IProducerBehavior> behaviorsProvider,
            IServiceProvider serviceProvider,
            ISilverbackIntegrationLogger <KafkaProducer> logger)
            : base(broker, endpoint, behaviorsProvider, serviceProvider, logger)
        {
            Check.NotNull(endpoint, nameof(endpoint));
            Check.NotNull(serviceProvider, nameof(serviceProvider));

            _confluentProducerBuilder = serviceProvider.GetRequiredService <IConfluentProducerBuilder>();
            _confluentProducerBuilder.SetConfig(endpoint.Configuration.ConfluentConfig);

            serviceProvider.GetRequiredService <KafkaEventsHandler>()
            .SetProducerEventsHandlers(_confluentProducerBuilder);

            _logger = logger;
        }
Ejemplo n.º 3
0
 public void SetProducerEventsHandlers(IConfluentProducerBuilder producerBuilder) =>
 producerBuilder.SetStatisticsHandler(OnProducerStatistics);