private IBusControl ConfigureBus(BusConfigurations options, Action <IRabbitMqBusFactoryConfigurator, IRabbitMqHost> configurations = null) { return(Bus.Factory.CreateUsingRabbitMq(cfg => { var host = cfg.Host(new Uri(options.HostName), h => { h.Username(options.Username); h.Password(options.Password); }); foreach (var action in _config) { action.Invoke(cfg, host); } ConfigureIncrementalRetryPolicy(cfg); ConfigureCircuitBreaker(cfg); ConfigureDelayedExchangeMessageScheduler(cfg); ConfigureMessageScheduler(cfg); UseRateLimiter(cfg); UseInMemoryScheduler(cfg); configurations?.Invoke(cfg, host); })); }
private static BusConfigurations GetConfiguration() { var configurations = new BusConfigurations(); Configuration.GetSection("BusConfigurations").Bind(configurations); return(configurations); }
public BusConfiguratorFixture() { _testConsumer = new TestMailCommandConsumer(); _busConfigurations = new BusConfigurations() { HostName = "rabbitmq://localhost", Username = "******", Password = "******", RetryPolicy = new IncrementalRetryPolicyOptions() { Enabled = true, InitialInterval = 2, IntervalIncrement = 5, RetryLimit = 5 } }; var config = BusConfigurator.Instance .Options(_busConfigurations).Configure((cfg, host) => { cfg.ReceiveEndpoint(queueName, e => { e.Consumer(() => _testConsumer); }); }); _busControl = config.Build(); _busControl.Start(); }
public Receiver(BusConfigurations options, ILifetimeScope scope) { var config = BusConfigurator.Instance .Options(options) .Configure((cfg, host) => { foreach (var queue in options.ConsumeOnSpecifiedQueue) { cfg.ReceiveEndpoint(queue, e => { e.Consumer(typeof(MailCommandConsumer), type => scope.Resolve(type)); }); } }); _bus = config.Build(); }
public Startup(IReceiver receiver, BusConfigurations busConfigurations, ILogger <Startup> logger) { _receiver = receiver; _busConfigurations = busConfigurations; _logger = logger; }
public Publisher(BusConfigurations options) { _options = options; _bus = BusConfigurator.Instance.Options(_options).Build(); }
public BusConfigurator Options(BusConfigurations options) { _options = options; return(this); }