using BMA.EHR.Leave.Service.Services; using Microsoft.Extensions.ObjectPool; using RabbitMQ.Client; namespace BMA.EHR.Leave.Service.Extensions { public static class RabbitMqServiceCollectionExtensions { public static IServiceCollection AddRabbitMqConnectionPooling(this IServiceCollection services, IConfiguration configuration) { services.AddSingleton(); services.AddSingleton>(sp => { var provider = sp.GetRequiredService(); return provider.Create(new RabbitMqConnectionPoolPolicy(configuration)); }); return services; } } }