public MessageConsumerBase(RabbitMQSettings settings, ISerializer serializer, string queueName) { _settings = settings; _serializer = serializer; _queueName = queueName; var factory = new ConnectionFactory { HostName = _settings.Hostname, UserName = _settings.Username, Password = _settings.Password }; _connection = factory.CreateConnection(); _channel = _connection.CreateModel(); }
public static void AddRawRabbit(this IServiceCollection services, IConfiguration configuration) { var settings = new RabbitMQSettings(); var section = configuration.GetSection("rabbitmq"); section.Bind(settings); var client = RawRabbitFactory.CreateSingleton(new RawRabbitOptions { ClientConfiguration = settings, DependencyInjection = ioc => ioc.AddSingleton <ISerializer, CustomSerializer>() }); services.AddSingleton <IBusClient>(client); services.AddScoped <IMessageBus, RawRabbitMessageBus>(); }
public RabbitMQConsumer(RabbitMQSettings config, ILogger logger) { this.logger = logger; this.logger.InitLogger(); try { InitConnection(config); } catch (Exception ex) { logger.Error(ex.Message); throw new Exception("Unable connect to RabbitMQ"); } }
private string getConnectionStringFromSettings(RabbitMQSettings settings) { StringBuilder connectionstrinSb = new StringBuilder("amqp://"); connectionstrinSb.Append(settings.Username); connectionstrinSb.Append(":"); connectionstrinSb.Append(settings.Password); connectionstrinSb.Append("@"); connectionstrinSb.Append(settings.Hostname); connectionstrinSb.Append(":"); connectionstrinSb.Append(settings.Port); connectionstrinSb.Append("/"); connectionstrinSb.Append("%2f"); return(connectionstrinSb.ToString()); }
private void InitConnection(RabbitMQSettings config) { queueName = config.QueueName; connection = config.CreateConnection(); connection.ConnectionShutdown += (o, e) => { logger.Error("Сервер не отвечает"); }; connection.CallbackException += (o, e) => { logger.Error(e.Exception.Message); }; channel = connection.CreateModel(); channel.ExchangeDeclare("main", "fanout", durable: true); channel.QueueDeclare(queueName, true, false, false, null); channel.QueueBind(queueName, "main", "", null); consumer = new EventingBasicConsumer(channel); consumer.Received += Receive; }
public static IHostBuilder CreateHostBuilder(string[] args) => Host .CreateDefaultBuilder() .UseContentRoot(Directory.GetCurrentDirectory()) .ConfigureAppConfiguration((hostingContext, config) => { var env = hostingContext.HostingEnvironment; config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true); config.AddEnvironmentVariables(); if (args != null) { config.AddCommandLine(args); } }) .ConfigureServices((hostContext, services) => { IConfiguration configuration = hostContext.Configuration; var rabbitMQSettings = new RabbitMQSettings(); var settings = configuration.GetSection(nameof(RabbitMQSettings)).Get <RabbitMQSettings>(); configuration.GetSection(nameof(RabbitMQSettings)).Bind(rabbitMQSettings); var rabbitMQSeriveURI = string.Format(settings.RabbitMQServiceURI, System.Environment.GetEnvironmentVariable(nameof(EnvironmentVariables.RMQ_USER)), System.Environment.GetEnvironmentVariable(nameof(EnvironmentVariables.RMQ_PASSWORD)), System.Environment.GetEnvironmentVariable(nameof(EnvironmentVariables.RMQ_HOST)), System.Environment.GetEnvironmentVariable(nameof(EnvironmentVariables.RMQ_PORT))); services.AddTransient <MessageService> (s => { var factory = new ConnectionFactory { Uri = new Uri(rabbitMQSeriveURI), AutomaticRecoveryEnabled = true, NetworkRecoveryInterval = TimeSpan.FromSeconds(10) }; var connection = factory.CreateConnection(); var channel = connection.CreateModel(); foreach (var queue in rabbitMQSettings.Queues) { channel.QueueDeclare(queue: queue.QueueName, durable: queue.Durable, exclusive: false, autoDelete: false); } foreach (var bind in rabbitMQSettings.Bindings) { channel.QueueBind(bind.QueueName, bind.ExchangeName, bind.RoutingKey); } return(new MessageService(channel, rabbitMQSettings)); }); Log.Logger = new LoggerConfiguration().ReadFrom.Configuration(configuration).CreateLogger(); services.AddHostedService <Worker> (); }) .UseSerilog();
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var configBuilder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: true); var config = configBuilder.Build(); var rabbitMQSettings = new RabbitMQSettings(); new ConfigureFromConfigurationOptions <RabbitMQSettings>( Configuration.GetSection("RabbitMQSettings")) .Configure(rabbitMQSettings); services.AddSingleton(rabbitMQSettings); services.AddScoped <IProducerService, ProducerService>(); services.AddControllers(); }
static async Task MainAsync() { var host = new HostBuilder() .ConfigureServices(services => { var settings = new RabbitMQSettings { ServerName = "192.168.80.129", UserName = "******", Password = "******" }; services.AddOptions() .AddSingleton <IOptions <RabbitMQSettings> >(new OptionsWrapper <RabbitMQSettings>(settings)) .AddRabbitMQ(builder => { builder.Subscribe <MyMessage>(GreetingHandler); }); }) .Build(); Console.WriteLine("Starting..."); await host.StartAsync(); var messenger = host.Services.GetRequiredService <IRabbitMQMessenger>(); Console.WriteLine("Running. Type text and press ENTER to send a message."); Console.CancelKeyPress += async(sender, e) => { Console.WriteLine("Shutting down..."); await host.StopAsync(new CancellationTokenSource(3000).Token); Environment.Exit(0); }; while (true) { var line = Console.ReadLine(); if (!string.IsNullOrEmpty(line)) { var message = new MyMessage { Greeting = line, Timestamp = DateTimeOffset.Now }; messenger.Publish(message); } } }
public object SymbolRate([FromServices] RabbitMQSettings rabbitMQSettings, [FromBody] Symbols symbols) { if (symbols != null && symbols.SymbolsToRate.Any()) { var res = _producerService.SendMessageToQueue(rabbitMQSettings, symbols); return(new { Resultado = res }); } else { return(new { Erro = "SymbolsToRate must not contain elements" }); } }
public const int SecondsToSend = 5000; //5 seconds public ConsumeSendMessageMQService(IServiceProvider services, ILoggerFactory loggerFactory, IConfiguration configuration, RabbitMQSettings rabbitMQSettings) { Services = services; _configuration = configuration; this._logger = loggerFactory.CreateLogger <ConsumeSendMessageMQService>(); _rabbitMQSettings = rabbitMQSettings; _factory = new ConnectionFactory { HostName = _rabbitMQSettings.HostName, Port = int.Parse(_rabbitMQSettings.Port), UserName = _rabbitMQSettings.UserName, Password = _rabbitMQSettings.Password }; _factory.AutomaticRecoveryEnabled = true; }
public static IServiceCollection AddMessaging(this IServiceCollection services, IConfiguration configuration) { RabbitMQSettings rabbitMQSettings = new RabbitMQSettings(); configuration.GetSection("RabbitMQSettings").Bind(rabbitMQSettings); services.AddRawRabbit(new RawRabbitOptions { ClientConfiguration = new RawRabbit.Configuration.RawRabbitConfiguration { Username = rabbitMQSettings.Username, Password = rabbitMQSettings.Password, VirtualHost = rabbitMQSettings.VirtualHost, Port = rabbitMQSettings.Port, Hostnames = rabbitMQSettings.Hostnames, RequestTimeout = TimeSpan.FromSeconds(rabbitMQSettings.RequestTimeout), PublishConfirmTimeout = TimeSpan.FromSeconds(rabbitMQSettings.PublishConfirmTimeout), RecoveryInterval = TimeSpan.FromSeconds(rabbitMQSettings.RecoveryInterval), PersistentDeliveryMode = rabbitMQSettings.PersistentDeliveryMode, AutoCloseConnection = rabbitMQSettings.AutoCloseConnection, AutomaticRecovery = rabbitMQSettings.AutomaticRecovery, TopologyRecovery = rabbitMQSettings.TopologyRecovery, Exchange = new RawRabbit.Configuration.GeneralExchangeConfiguration { Durable = true, AutoDelete = false, Type = RawRabbit.Configuration.Exchange.ExchangeType.Topic }, Queue = new RawRabbit.Configuration.GeneralQueueConfiguration { Durable = true, AutoDelete = false, Exclusive = false } } }); services.AddScoped <IEventPublisher, OutboxEventPublisher>(); services.AddSingleton <Outbox>(); services.AddHostedService <OutboxSendingService>(); return(services); }
private void InitializeExchange(RabbitMQSettings settings, string exchangeName) { using (var handler = new HttpClientHandler { Credentials = new NetworkCredential(settings.Username, settings.Password) }) using (var client = new HttpClient(handler)) { var result = client.GetAsync($"http://{settings.Host}:{settings.ApiPort}/api/exchanges").Result; var data = JsonConvert.DeserializeObject <List <Exchange> >(result.Content.ReadAsStringAsync().Result); if (data.Any(x => x.Name == exchangeName) == false) { Log.Information("Initializing exchange @{ExchangeName}", exchangeName); _channel.ExchangeDeclare(MessageExchanges.USER_CREATED, "fanout"); } } }
static void Main(string[] args) { System.Console.WriteLine("Select a broker: \"R\" - RabbitMQ, \"K\" - Kafka"); string choice = System.Console.ReadLine(); while (choice != "R" && choice != "K") { System.Console.WriteLine("Try again"); choice = System.Console.ReadLine(); } try { if (choice == "K") { //TODO: KafkaSettings producer = new KafkaProducer(); } else { RabbitMQSettings settings = (RabbitMQSettings)ConfigurationManager.GetSection("rabbitMQSettings"); producer = new RabbitMQProducer(settings); } producer.Initialize(); } catch (Exception ex) { System.Console.WriteLine(ex.Message); producer?.Dispose(); System.Console.Read(); return; } System.Console.WriteLine("For exit enter \"X\""); System.Console.WriteLine("Enter count random messages"); Sending(); }
static void Main(string[] args) { System.Console.WriteLine("Select a broker: \"R\" - RabbitMQ, \"K\" - Kafka"); string choice = System.Console.ReadLine(); while (choice != "R" && choice != "K") { System.Console.WriteLine("Try again"); choice = System.Console.ReadLine(); } try { if (choice == "K") { //TODO: KafkaSettings consumer = new KafkaConsumer(logger); } else { RabbitMQSettings settings = (RabbitMQSettings)ConfigurationManager.GetSection("rabbitMQSettings"); consumer = new RabbitMQConsumer(settings, logger); } } catch (Exception ex) { System.Console.WriteLine(ex.Message); System.Console.Read(); return; } consumer.NewMessage += HandlingMessage; consumer.StartConsume(); System.Console.Read(); consumer.Close(); }
public PaginatedOrderMessageSender(RabbitMQSettings settings, ISerializer serializer) : base(settings, QueueName.RetrievePaginatedOrder, serializer) { }
public UpdateOrderDeliveryConsumer(RabbitMQSettings settings, ISerializer serializer, UpdateOrderDeliveryHandler service) : base(settings, serializer, QueueName.UpdateOrderDelivery) { _handler = service; }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddCors(c => { c.AddPolicy("AllowOrigin", options => options.WithOrigins("http://*****:*****@+"; options.User.RequireUniqueEmail = false; }); services.AddScoped<DbContext, NoisContext>(); services.AddScoped<UserManager<User>, UserManager<User>>(); services.AddScoped<RoleManager<Role>, RoleManager<Role>>(); services.AddTransient(typeof(IRepositoryAsync<>), typeof(EfRepository<>)); services.AddTransient(typeof(IUnitOfWork), typeof(UnitOfWork)); services.AddSingleton(typeof(IRabbitMQService), typeof(RabbitMQService)); #region Configure for Repositories var allRepositoryInterfaces = Assembly.GetAssembly(typeof(IRepositoryAsync<>)) .GetTypes().Where(t => t.Name.EndsWith("Repository")).ToList(); var allRepositoryImplements = Assembly.GetAssembly(typeof(EfRepository<>)) .GetTypes().Where(t => t.Name.EndsWith("Repository")).ToList(); foreach (var repositoryType in allRepositoryInterfaces.Where(t => t.IsInterface)) { var implement = allRepositoryImplements.FirstOrDefault(c => c.IsClass && repositoryType.Name.Substring(1) == c.Name); if (implement != null) services.AddTransient(repositoryType, implement); } #endregion Configure for Repositories #region Configure for Serivces var allServicesInterfaces = Assembly.GetAssembly(typeof(IService)) .GetTypes().Where(t => t.Name.EndsWith("Service")).ToList(); var allServiceImplements = Assembly.GetAssembly(typeof(Service)) .GetTypes().Where(t => t.Name.EndsWith("Service")).ToList(); foreach (var serviceType in allServicesInterfaces.Where(t => t.IsInterface)) { var implement = allServiceImplements.FirstOrDefault(c => c.IsClass && serviceType.Name.Substring(1) == c.Name); if (implement != null) services.AddTransient(serviceType, implement); } #endregion Configure for Serivces //services.AddControllers(options => //{ // options.Filters.Add<ValidationFilter>(); //}).AddFluentValidation(x => x.RegisterValidatorsFromAssemblyContaining<Startup>()); services.AddControllers(); //Register the Swagger generator services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Version = "v1", Title = "Mentor API", Description = "ASP.NET Core Web API For Mentor Project", TermsOfService = new Uri("https://nois.vn"), Contact = new OpenApiContact { Name = "Mentor", Email = string.Empty, Url = new Uri("https://mentor4u.vn"), }, License = new OpenApiLicense { Name = "Use under Mentor", Url = new Uri("https://mentor4u.vn"), } }); c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { Description = "JWT Authorization header using the Bearer scheme. \r\n\r\n Enter 'Bearer' [space] and then your token in the text input below.\r\n\r\nExample: \"Bearer 12345abcdef\"", Name = "Authorization", In = ParameterLocation.Header, Type = SecuritySchemeType.ApiKey, Scheme = "Bearer" }); c.AddSecurityRequirement(new OpenApiSecurityRequirement() { { new OpenApiSecurityScheme { Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" }, Scheme = "Bearer", Name = "Bearer", In = ParameterLocation.Header, }, new List<string>() } }); }); //AutoMapper services.AddAutoMapper(typeof(Startup)); //Hangfire service //HangfireService(services); }
public RabbitMQEventBus(RabbitMQSettings settings) { bus = new RabbitMQBus <IDomainEvent>(settings); }
public BotResponseProducerRMQ(IOptions <RabbitMQSettings> settings) { _rabbitMQSettings = settings.Value; }
public RabbitMQBus(RabbitMQSettings settings) { this.settings = settings; }
public MQProductsRequestor(RabbitMQSettings settings) { _settings = settings; }
public UpdateOrderProductsMessageSender(RabbitMQSettings settings, ISerializer serializer) : base(settings, QueueName.UpdateOrderProducts, serializer) { }
public RabbitMQIntegrationBus(RabbitMQSettings settings) { bus = new RabbitMQBus <IIntegrationEvent>(settings); }
public CancelOrderMessageSender(RabbitMQSettings settings, ISerializer serializer) : base(settings, QueueName.CancelOrders, serializer) { }
public PublisherController(IOptions <RabbitMQSettings> rabbitMQSettings) { _rabbitMQSettings = rabbitMQSettings.Value; }
public EasyNetQService(IConfiguration configuration, IWeb3GethService web3geth_service, ILogger <EasyNetQService> logger) //public EasyNetQService(IConfiguration configuration, IWeb3GethService web3geth_service) { _rabbitmq_settings = configuration.GetSection("RabbitMQSettings").Get <RabbitMQSettings>(); _blockchain_settings = configuration.GetSection("BlockchainSettings").Get <BlockchainSettings>(); //_bus = RabbitHutch.CreateBus(configuration.GetConnectionString("RabbitMQConnectionString")); //_bus = RabbitHutch.CreateBus(configuration.GetConnectionString("RabbitMQConnectionString"), // serviceRegister => serviceRegister.Register<IConsumerErrorStrategy, DeadLetterStrategy>()); _bus = RabbitHutch.CreateBus(configuration.GetConnectionString("RabbitMQConnectionString"), serviceRegister => serviceRegister.Register <IConsumerErrorStrategy, AlwaysRequeueErrorStrategy>()); //_bus.Receive<string>(queue: QueueNameFormatting("intermediate2blockchain"), onMessage: message => TestString(message)); //_advanced_client = RabbitHutch.CreateBus(configuration.GetConnectionString("RabbitMQConnectionString")).Advanced; _queue_intermediate2blockchain = _bus.Advanced.QueueDeclare(name: QueueNameFormatting("intermediate2blockchain")); _queue_blockchain2intermdiate = _bus.Advanced.QueueDeclare(name: QueueNameFormatting("blockchain2intermediate")); _web3geth_service = web3geth_service; _invlid_block_hash = _web3geth_service.BlockchainManager.INVALID_BLOCK_HASH; _logger = logger; var ASPNETCORE_ENVIRONMENT = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); _logger.LogInformation("ASPNETCORE_ENVIRONMENT = {ASPNETCORE_ENVIRONMENT}", ASPNETCORE_ENVIRONMENT); _logger.LogDebug("Initialized: EasyNetQService"); // TEST Flight.Create foreach (var i in Enumerable.Range(0, 20)) { var request = new I2B_Request { task_uuid = $"task_uuid_{i}", task = new I2B_Request_Task() { name = "createNewBlockchainFlight", payload = "{\"pid\":28,\"ufid\":72,\"flight_code\":\"CX564\",\"fs_flight_code\":\"CX564\",\"departure_airport\":\"HKG\",\"arrival_airport\":\"TPE\",\"departure_utc_offset_hours\":8,\"arrival_utc_offset_hours\":8,\"scheduled_departure_date\":20170719,\"scheduled_departure_date_time\":\"2017-07-19T05:10:00Z\",\"scheduled_departure_date_time_local\":\"2017-07-19T13:10:00+08:00\",\"scheduled_arrival_date_time\":\"2017-07-19T07:10:00Z\",\"scheduled_arrival_date_time_local\":\"2017-07-19T15:10:00+08:00\",\"hash\":\"0xad037ad2f98401ea9b02b8fa4373e444858836e1acbddf2cea73c126dca40083\"}" } }; SendI2B_Request(request).Wait(); } //// TEST Flight.SetFlightAttribute //foreach (var i in Enumerable.Range(0, 1)) //{ // var request = new I2B_Request // { // task_uuid = $"deleteBlockchainFlight_test", // task = new I2B_Request_Task() // { // name = "deleteBlockchainFlight", // payload = "{\"flight_id\":80,\"pid\":29,\"ufid\":79,\"flight_code\":\"CI172\",\"fs_flight_code\":\"CI172\",\"departure_utc_offset_hours\":8,\"arrival_utc_offset_hours\":9,\"departure_airport\":\"TPE\",\"arrival_airport\":\"KIX\",\"status\":null,\"scheduled_departure_date\":\"20170720\",\"scheduled_departure_date_time\":\"2017-07-20T06:20:00.000Z\",\"scheduled_departure_date_time_local\":\"2017-07-20T14:20:00+08:00\",\"actual_departure_date_time\":null,\"actual_departure_date_time_local\":null,\"scheduled_arrival_date_time\":\"2017-07-20T09:05:00.000Z\",\"scheduled_arrival_date_time_local\":\"2017-07-20T18:05:00+09:00\",\"actual_arrival_date_time\":null,\"actual_arrival_date_time_local\":null,\"cancel_date_time\":null,\"cancel_date_time_local\":null,\"hash\":\"0xde52a4b7fe8b7d69c68c37ce60639b989e928a457dace6dda065569b4138060b\",\"contract_address\":\"0x4f82d90edeecf2abc5880e8c41aa288312ce2981\",\"flight_status_source\":null,\"flight_status_fed\":false,\"flight_status_confirmed_txhash\":null,\"delay_notification_date_time\":null,\"deleted\":false,\"creation_txhash\":null,\"created_at\":\"2017-07-20T05:37:02.000Z\",\"version\":0}" // } // }; // DeleteFlight delete_flight = JsonConvert.DeserializeObject<DeleteFlight>(request.task.payload); // Tuple<string, string> result = _web3geth_service.Flight.SetFlightAllAttributes( // contract_address: delete_flight.contract_address, // task_uuid: request.task_uuid, // status: delete_flight.status, // actual_departure_date_time: delete_flight.actual_departure_date_time, // actual_departure_date_time_local: delete_flight.actual_departure_date_time_local, // actual_arrival_date_time: delete_flight.actual_arrival_date_time, // actual_arrival_date_time_local: delete_flight.actual_arrival_date_time_local, // cancel_date_time: delete_flight.cancel_date_time, // cancel_date_time_local: delete_flight.cancel_date_time_local, // deleted: delete_flight.deleted.ToString(), // flight_status_source: delete_flight.flight_status_source, // flight_status_fed: delete_flight.flight_status_fed.ToString(), // delay_notification_date_time: delete_flight.delay_notification_date_time // ).Result; //// TEST Policy.Create //foreach (var i in Enumerable.Range(0, 10)) //{ // var request = new I2B_Request // { // task_uuid = $"createNewBlockchainPolicy_test{i}", // task = new I2B_Request_Task() // { // name = "createNewBlockchainPolicy", // payload = "{\"status\":\"activated\",\"deleted\":false,\"version\":0,\"pid\":31,\"psn\":\"000033\",\"tenant_id\":1,\"start_date_time\":\"2017-07-20T08:00:00.000Z\",\"end_date_time\":\"2017-07-21T08:00:00.000Z\",\"start_date_time_local\":\"201707200800\",\"end_date_time_local\":\"201707210800\",\"created_at\":\"2017-07-20T05:37:51.601Z\"}" // } // }; // SendI2B_Request(request).Wait(); //} ////TODO contract_address "0xdec46ce3bc57e48fa986173e223c176a26336922" //// TEST Policy.SetFlightAttribute //foreach (var i in Enumerable.Range(0, 1)) //{ // var request = new I2B_Request // { // task_uuid = $"deleteBlockchainFlight_test", // task = new I2B_Request_Task() // { // name = "deleteBlockchainFlight", // payload = "{\"pid\":23,\"psn\":\"000024\",\"tenant_id\":1,\"start_date_time\":\"2017-07-19T08:00:00.000Z\",\"end_date_time\":\"2017-07-20T08:00:00.000Z\",\"start_date_time_local\":\"201707190800\",\"end_date_time_local\":\"201707200800\",\"status\":\"activated\",\"contract_address\":\"0xdec46ce3bc57e48fa986173e223c176a26336922\",\"deleted\":false,\"creation_txhash\":null,\"created_at\":\"2017-07-19T07:12:42.000Z\",\"version\":0}" // } // }; // //DeleteBlockchainPolicy(request).Wait(); // SendI2B_Request(request).Wait(); //} // 需要 Node.js 那邊配合在 Message Propertoes 加入 type: FDBC_Shared.DTO.I2B_Request:FDBC_Shared // 目前測試過 PrefetchCount = 1 可以穩定處理所有message, N大於1都會在最後一批有 noacked N-1 卡住, 要關掉 blockchain module 才會 release ushort prefetch_count = 1; _bus.Advanced.Consume <I2B_Request>( _queue_intermediate2blockchain, (msg, info) => OnReceiving_I2B_Request(msg, info), configure => configure.WithPrefetchCount(prefetch_count) ); //_client.Receive<I2B_Request>(queue: QueueNameFormatting("intermediate2blockchain"), onMessage: message => // EasyNetQActions.OnReceiving_I2B_Request(message) //); }
public UpdateOrderProductsConsumer(RabbitMQSettings settings, ISerializer serializer, UpdateOrderItemsHandler handler) : base(settings, serializer, QueueName.UpdateOrderProducts) { _handler = handler; }
public PaginatedOrdersConsumer(RabbitMQSettings settings, ISerializer serializer, RetrievePaginatedOrdersHandler service) : base(settings, serializer, QueueName.RetrievePaginatedOrder) { _handler = service; }
public ConsumeGetMessagesMQService(IServiceProvider services, ILoggerFactory loggerFactory, IConfiguration configuration, RabbitMQSettings rabbitMQSettings) { Services = services; _configuration = configuration; this._logger = loggerFactory.CreateLogger <ConsumeGetMessagesMQService>(); _rabbitMQSettings = rabbitMQSettings; }
public RabbitMQProducerChannelPooledObjectPolicy(IOptions <RabbitMQSettings> settings) { _settings = settings.Value; _connection = GetConnection(); }