コード例 #1
0
        /// <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);
            }
        }
コード例 #2
0
        /// <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);
            }
        }