protected Microservice(IServiceProvider provider, ILogger logger) { _provider = provider; _consumerFactory = provider.GetRequiredService <IMessageConsumerFactory>(); _logger = logger; GroupId = $"{GetType().FullName}"; pollingDelay = TimeSpan.FromMilliseconds(1 * 1000); cancellationTokenSource = new CancellationTokenSource(); _topics = new Lazy <IList <string> >(() => { var topics = new List <string>(); if (null != RegisteredEventHandlers && RegisteredEventHandlers.Any()) { topics = RegisteredEventHandlers //.Select(p => $"{p.Name.Replace("Handler", "")}") //.ToList(); .SelectMany(p => p.GetInterfaces()) .Where(p => p.Name.Equals("IHandler`1") && p.IsGenericType) .Select(p => p.GetGenericArguments()[0].FullName) .ToList(); } return(topics); }); }
public MessageConsumerService(ILogger <MessageConsumerService> logger, IOptions <AppOption> appOptions, IServiceProvider serviceProvider, IMessageConsumerFactory messageConsumerFactory) { _logger = logger; _serviceProvider = serviceProvider; _messageConsumerFactory = messageConsumerFactory; _appOptions = appOptions.Value; }
public FeatureSubscriberActor(IActorRef featureAggregatorActor, IMessageConsumerFactory consumerFactory, string topic, string consumerGroup) { _featureAggregatorActor = featureAggregatorActor; _consumerFactory = consumerFactory; _topic = topic; _consumerGroup = consumerGroup; }
/// <summary> /// Initializes a new instance of the <see cref="MessageProcessor{TMessage, TProtocol, TConsumer, TMQConnection, TMQConfiguration}"/> class. /// </summary> /// <param name="consumerFactory">injected consumer factory</param> /// <param name="connectionConfiguration">injected connection configuration</param> /// <param name="connectionFactory">injected connection factory</param> /// <param name="logger">injected logger</param> public MessageProcessor(IMessageConsumerFactory consumerFactory, TConfig connectionConfiguration, IConnectionFactory <TConnection, TConfig> connectionFactory, ILogger logger) : base(logger) { this.connectionConfiguration = connectionConfiguration; this.connectionFactory = connectionFactory; this.consumerFactory = consumerFactory; }
public TimeSeriesAggregatorService( IDataPointRepository dataPointRepository, IDataPointPublisher dataPointPublisher, IMessageConsumerFactory consumerFactory, IConfigurationProvider configurationProvider) { _dataPointRepository = dataPointRepository; _dataPointPublisher = dataPointPublisher; _consumerFactory = consumerFactory; _configurationProvider = configurationProvider; }