Exemple #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MassTransitRabbitMqContext"/> class.
        /// </summary>
        /// <param name="options">The options.</param>
        /// <param name="configurator">The configurator.</param>
        /// <param name="serviceProvider">The service provider.</param>
        /// <param name="loggerFactory">The logger factory.</param>
        public MassTransitRabbitMqContext(IOptions <MassTransitRabbitMqHostingOptions> options,
                                          IMassTransitRabbitMqHostingConfigurator configurator,
                                          IServiceProvider serviceProvider,
                                          ILoggerFactory loggerFactory)
        {
            _configurator    = configurator;
            _serviceProvider = serviceProvider;
            _logger          = loggerFactory.CreateLogger <MassTransitRabbitMqContext>();
            _loggerFactory   = loggerFactory;
            _options         = options.Value;
            _semaphore       = new SemaphoreSlim(1, 1);
            _disposing       = new CancellationTokenSource();

            foreach (var s in configurator.GetConfigurationStrings())
            {
                _logger.LogInformation(s);
            }
        }
Exemple #2
0
 /// <summary>
 /// Adds the MassTransit backed by RabbitMQ as a hosted service.
 /// </summary>
 /// <param name="services">The services.</param>
 /// <param name="applicationName">Name of the application.</param>
 /// <param name="options">The mass transit options.</param>
 /// <returns></returns>
 public static IMassTransitRabbitMqHostingBuilder AddMassTransitRabbitMqHostedService(this IServiceCollection services,
                                                                                      string applicationName,
                                                                                      MassTransitRabbitMqHostingOptions options)
 {
     return(services.AddMassTransitRabbitMqHostedService(applicationName, o =>
     {
         o.RabbitMqUri = options.RabbitMqUri;
         o.RabbitMqUsername = options.RabbitMqUsername;
         o.RabbitMqPassword = options.RabbitMqPassword;
     }));
 }