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);
            });
        }
Esempio n. 2
0
 public MessageConsumerService(ILogger <MessageConsumerService> logger, IOptions <AppOption> appOptions, IServiceProvider serviceProvider, IMessageConsumerFactory messageConsumerFactory)
 {
     _logger                 = logger;
     _serviceProvider        = serviceProvider;
     _messageConsumerFactory = messageConsumerFactory;
     _appOptions             = appOptions.Value;
 }
Esempio n. 3
0
 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;
 }
Esempio n. 5
0
 public TimeSeriesAggregatorService(
     IDataPointRepository dataPointRepository,
     IDataPointPublisher dataPointPublisher,
     IMessageConsumerFactory consumerFactory,
     IConfigurationProvider configurationProvider)
 {
     _dataPointRepository   = dataPointRepository;
     _dataPointPublisher    = dataPointPublisher;
     _consumerFactory       = consumerFactory;
     _configurationProvider = configurationProvider;
 }