Browse Source

AbpRabbitMqModule should get configuration from appsettings file if available.

pull/765/head
Halil ibrahim Kalkan 8 years ago
parent
commit
8fc277be57
  1. 10
      framework/src/Volo.Abp.Core/Microsoft/Extensions/DependencyInjection/ServiceCollectionCommonExtensions.cs
  2. 6
      framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/AbpRabbitMqModule.cs
  3. 4
      framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/AbpRabbitMqOptions.cs
  4. 2
      framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ConnectionPool.cs

10
framework/src/Volo.Abp.Core/Microsoft/Extensions/DependencyInjection/ServiceCollectionCommonExtensions.cs

@ -8,6 +8,16 @@ namespace Microsoft.Extensions.DependencyInjection
{ {
public static class ServiceCollectionCommonExtensions public static class ServiceCollectionCommonExtensions
{ {
public static bool IsAdded<T>(this IServiceCollection services)
{
return services.IsAdded(typeof(T));
}
public static bool IsAdded(this IServiceCollection services, Type type)
{
return services.Any(d => d.ServiceType == type);
}
public static T GetSingletonInstanceOrNull<T>(this IServiceCollection services) public static T GetSingletonInstanceOrNull<T>(this IServiceCollection services)
{ {
return (T)services return (T)services

6
framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/AbpRabbitMqModule.cs

@ -11,6 +11,12 @@ namespace Volo.Abp.RabbitMQ
)] )]
public class AbpRabbitMqModule : AbpModule public class AbpRabbitMqModule : AbpModule
{ {
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
Configure<AbpRabbitMqOptions>(configuration.GetSection("RabbitMQ"));
}
public override void OnApplicationShutdown(ApplicationShutdownContext context) public override void OnApplicationShutdown(ApplicationShutdownContext context)
{ {
context.ServiceProvider context.ServiceProvider

4
framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/AbpRabbitMqOptions.cs

@ -2,11 +2,11 @@
{ {
public class AbpRabbitMqOptions public class AbpRabbitMqOptions
{ {
public RabbitMqConnections ConnectionFactories { get; } public RabbitMqConnections Connections { get; }
public AbpRabbitMqOptions() public AbpRabbitMqOptions()
{ {
ConnectionFactories = new RabbitMqConnections(); Connections = new RabbitMqConnections();
} }
} }
} }

2
framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ConnectionPool.cs

@ -28,7 +28,7 @@ namespace Volo.Abp.RabbitMQ
return Connections.GetOrAdd( return Connections.GetOrAdd(
connectionName, connectionName,
() => Options () => Options
.ConnectionFactories .Connections
.GetOrDefault(connectionName) .GetOrDefault(connectionName)
.CreateConnection() .CreateConnection()
); );

Loading…
Cancel
Save