Example #1
0
        public static IMayWantOptionalSettings InRegions(params string[] regions)
        {
            var config = new MessagingConfig();
            
            if (regions != null)
            foreach (var region in regions)
            {
                config.Regions.Add(region);
            }

            config.Validate();

            var messageSerialisationRegister = new MessageSerialisationRegister();
            var justSayingBus = new JustSayingBus(config, messageSerialisationRegister);

            var awsClientFactoryProxy = new AwsClientFactoryProxy(() => DefaultClientFactory());
                
            var amazonQueueCreator = new AmazonQueueCreator(awsClientFactoryProxy);
            var bus = new JustSayingFluently(justSayingBus, amazonQueueCreator, awsClientFactoryProxy);

            bus
                .WithMonitoring(new NullOpMessageMonitor())
                .WithSerialisationFactory(new NewtonsoftSerialisationFactory());

            return bus;
        }
Example #2
0
 /// <summary>
 /// Configures the publications for the <see cref="JustSayingFluently"/>.
 /// </summary>
 /// <param name="bus">The <see cref="JustSayingFluently"/> to configure publications for.</param>
 internal void Configure(JustSayingFluently bus)
 {
     foreach (IPublicationBuilder <Message> builder in Publications)
     {
         builder.Configure(bus);
     }
 }
        /// <inheritdoc />
        void ISubscriptionBuilder <T> .Configure(JustSayingFluently bus, IHandlerResolver resolver)
        {
            var topic = bus.WithSqsTopicSubscriber()
                        .IntoQueue(TopicName);

            if (ConfigureReads != null)
            {
                topic.ConfigureSubscriptionWith(ConfigureReads);
            }

            topic.WithMessageHandler <T>(resolver);
        }
Example #4
0
        public static IMayWantOptionalSettings InRegion(string region)
        {
            var config = new MessagingConfig {Region = region};

            config.Validate();

            var bus = new JustSayingFluently(new JustSayingBus(config, new MessageSerialisationRegister()), new AmazonQueueCreator());
            bus.WithMonitoring(new NullOpMessageMonitor());
            bus.WithSerialisationFactory(new NewtonsoftSerialisationFactory());

            return bus;
        }
        /// <inheritdoc />
        void ISubscriptionBuilder <T> .Configure(JustSayingFluently bus, IHandlerResolver resolver)
        {
            var queue = bus.WithSqsPointToPointSubscriber()
                        .IntoQueue(QueueName);

            if (ConfigureReads != null)
            {
                queue.ConfigureSubscriptionWith(ConfigureReads);
            }

            queue.WithMessageHandler <T>(resolver);
        }
        /// <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.");
            }

            foreach (ISubscriptionBuilder <Message> builder in Subscriptions)
            {
                builder.Configure(bus, resolver);
            }
        }
Example #7
0
 /// <inheritdoc />
 void IPublicationBuilder <T> .Configure(JustSayingFluently bus)
 {
     bus.WithSqsMessagePublisher <T>(ConfigureWrites);
 }