/// <summary> /// Configures the subscriptions for the <see cref="JustSayingFluently"/>. /// </summary> /// <param name="bus">The <see cref="JustSayingFluently"/> to configure subscriptions for.</param> /// <exception cref="InvalidOperationException"> /// No instance of <see cref="IHandlerResolver"/> could be resolved. /// </exception> internal void Configure(JustSayingFluently bus) { var resolver = Parent.ServicesBuilder?.HandlerResolver?.Invoke() ?? Parent.ServiceResolver.ResolveService <IHandlerResolver>(); if (resolver == null) { throw new InvalidOperationException($"No {nameof(IHandlerResolver)} is registered."); } Defaults.Validate(); bus.Bus.SetGroupSettings(Defaults, SubscriptionGroupSettings); foreach (ISubscriptionBuilder <Message> builder in Subscriptions) { builder.Configure(bus, resolver); } }
/// <summary> /// Configures the subscriptions for the <see cref="JustSayingBus"/>. /// </summary> /// <param name="bus">The <see cref="JustSayingBus"/> to configure subscriptions for.</param> /// <param name="serviceResolver">The <see cref="IServiceResolver"/> to use to resolve middleware with</param> /// <param name="creator">The <see cref="IVerifyAmazonQueues"/>to use to create queues with.</param> /// <param name="awsClientFactoryProxy">The <see cref="IAwsClientFactoryProxy"/> to use to create SQS/SNS clients with.</param> /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>logger factory to use.</param> /// <exception cref="InvalidOperationException"> /// No instance of <see cref="IHandlerResolver"/> could be resolved. /// </exception> internal void Configure( JustSayingBus bus, IServiceResolver serviceResolver, IVerifyAmazonQueues creator, IAwsClientFactoryProxy awsClientFactoryProxy, ILoggerFactory loggerFactory) { var resolver = Parent.ServicesBuilder?.HandlerResolver?.Invoke() ?? Parent.ServiceResolver.ResolveService <IHandlerResolver>(); if (resolver == null) { throw new InvalidOperationException($"No {nameof(IHandlerResolver)} is registered."); } Defaults.Validate(); bus.SetGroupSettings(Defaults, SubscriptionGroupSettings); foreach (ISubscriptionBuilder <Message> builder in Subscriptions) { builder.Configure(bus, resolver, serviceResolver, creator, awsClientFactoryProxy, loggerFactory); } }