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; }
/// <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); }
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); } }
/// <inheritdoc /> void IPublicationBuilder <T> .Configure(JustSayingFluently bus) { bus.WithSqsMessagePublisher <T>(ConfigureWrites); }