Skip to content

Commit

Permalink
Autofac pck fixed in order to add multiple consumer
Browse files Browse the repository at this point in the history
  • Loading branch information
GokGokalp committed Apr 5, 2019
1 parent aa60f12 commit 30ab2e4
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 11 deletions.
1 change: 1 addition & 0 deletions src/MetroBus.Autofac/MetroBus.Autofac.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Version>1.0.3</Version>
<IsPackable>true</IsPackable>
<PackageId>MetroBus.Autofac</PackageId>
<Authors>Gökhan Gökalp</Authors>
Expand Down
12 changes: 6 additions & 6 deletions src/MetroBus.Autofac/MetroBusExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@ namespace MetroBus.Autofac
{
public static class MetroBusExtensions
{
public static MetroBusInitializer RegisterConsumer(this MetroBusInitializer instance, string queueName, ILifetimeScope lifetimeScope)
public static MetroBusInitializer RegisterConsumer<TConsumer>(this MetroBusInitializer instance, string queueName, ILifetimeScope lifetimeScope) where TConsumer : class, IConsumer
{
Action<IRabbitMqBusFactoryConfigurator, IRabbitMqHost> action = (cfg, host) =>
{
if (queueName == null)
if (string.IsNullOrEmpty(queueName))
{
cfg.ReceiveEndpoint(host, ConfigureReceiveEndpoint(instance, lifetimeScope));
cfg.ReceiveEndpoint(host, ConfigureReceiveEndpoint<TConsumer>(instance, lifetimeScope));
}
else
{
cfg.ReceiveEndpoint(host, queueName, ConfigureReceiveEndpoint(instance, lifetimeScope));
cfg.ReceiveEndpoint(host, queueName, ConfigureReceiveEndpoint<TConsumer>(instance, lifetimeScope));
}
};

Expand All @@ -27,7 +27,7 @@ public static MetroBusInitializer RegisterConsumer(this MetroBusInitializer inst
return instance;
}

private static Action<IRabbitMqReceiveEndpointConfigurator> ConfigureReceiveEndpoint(MetroBusInitializer instance, ILifetimeScope lifetimeScope)
private static Action<IRabbitMqReceiveEndpointConfigurator> ConfigureReceiveEndpoint<TConsumer>(MetroBusInitializer instance, ILifetimeScope lifetimeScope) where TConsumer : class, IConsumer
{
return _ =>
{
Expand All @@ -41,7 +41,7 @@ private static Action<IRabbitMqReceiveEndpointConfigurator> ConfigureReceiveEndp
_.PrefetchCount = instance.MetroBusConfiguration.PrefetchCount.Value;
}
_.LoadFrom(lifetimeScope);
_.Consumer<TConsumer>(lifetimeScope);
};
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,17 @@ public static IServiceCollection AddMetroBus(this IServiceCollection serviceColl
return serviceCollection;
}

public static MetroBusInitializer RegisterConsumer<TEvent>(this MetroBusInitializer instance, string queueName, IServiceProvider serviceProvider) where TEvent : class, IConsumer
public static MetroBusInitializer RegisterConsumer<TConsumer>(this MetroBusInitializer instance, string queueName, IServiceProvider serviceProvider) where TConsumer : class, IConsumer
{
Action<IRabbitMqBusFactoryConfigurator, IRabbitMqHost> action = (cfg, host) =>
{
if (string.IsNullOrEmpty(queueName))
{
cfg.ReceiveEndpoint(host, ConfigureReceiveEndpoint<TEvent>(instance, serviceProvider));
cfg.ReceiveEndpoint(host, ConfigureReceiveEndpoint<TConsumer>(instance, serviceProvider));
}
else
{
cfg.ReceiveEndpoint(host, queueName, ConfigureReceiveEndpoint<TEvent>(instance, serviceProvider));
cfg.ReceiveEndpoint(host, queueName, ConfigureReceiveEndpoint<TConsumer>(instance, serviceProvider));
}
};

Expand All @@ -35,7 +35,7 @@ public static MetroBusInitializer RegisterConsumer<TEvent>(this MetroBusInitiali
return instance;
}

private static Action<IRabbitMqReceiveEndpointConfigurator> ConfigureReceiveEndpoint<TEvent>(MetroBusInitializer instance, IServiceProvider serviceProvider) where TEvent : class, IConsumer
private static Action<IRabbitMqReceiveEndpointConfigurator> ConfigureReceiveEndpoint<TConsumer>(MetroBusInitializer instance, IServiceProvider serviceProvider) where TConsumer : class, IConsumer
{
return _ =>
{
Expand All @@ -49,7 +49,7 @@ private static Action<IRabbitMqReceiveEndpointConfigurator> ConfigureReceiveEndp
_.PrefetchCount = instance.MetroBusConfiguration.PrefetchCount.Value;
}
_.Consumer<TEvent>(serviceProvider);
_.Consumer<TConsumer>(serviceProvider);
};
}
}
Expand Down

0 comments on commit 30ab2e4

Please sign in to comment.