protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddSagaStateMachine <TestStateMachineSaga, TestInstance>() .MessageSessionRepository(); configurator.AddBus(provider => BusControl); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddConsumer <DependentBatchConsumer>(x => x.Options <BatchOptions>(b => b.SetTimeLimit(200).SetMessageLimit(4))); configurator.AddBus(provider => BusControl); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddSaga <SimpleSaga>() .InMemoryRepository(); configurator.AddBus(provider => BusControl); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddConsumer <InitialConsumer>(); configurator.AddConsumer <SubsequentConsumer>(); configurator.AddBus(context => BusControl); }
/// <summary> /// Register bus. /// </summary> /// <exception cref="ArgumentNullException"/> public static void RegisterBus(this IBusRegistrationConfigurator collectionConfigurator, Action <IBusRegistrationContext, IAmazonSqsBusFactoryConfigurator> registerConsumers, AmazonMqOptions?amazonMqOptions = null) { if (collectionConfigurator == null) { throw new ArgumentNullException(nameof(collectionConfigurator)); } if (registerConsumers == null) { throw new ArgumentNullException(nameof(registerConsumers)); } collectionConfigurator.UsingAmazonSqs((busRegistrationContext, mqBusFactoryConfigurator) => { amazonMqOptions ??= busRegistrationContext.GetRequiredService <IOptions <AmazonMqOptions> >().Value; mqBusFactoryConfigurator.Host(amazonMqOptions.Region, configurator => { configurator.AccessKey(amazonMqOptions.AccessKey); configurator.SecretKey(amazonMqOptions.SecretKey); }); mqBusFactoryConfigurator.AutoDelete = false; mqBusFactoryConfigurator.Durable = true; // enable activity tracer for all consumers if (EnableConsumerTracer) { mqBusFactoryConfigurator.LinkActivityTracingContext(); } // register consumers here registerConsumers(busRegistrationContext, mqBusFactoryConfigurator); }); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddSagaStateMachine <TestStateMachineSaga, TestInstance>() .RedisRepository(r => r.ConcurrencyMode = ConcurrencyMode.Pessimistic); configurator.AddBus(provider => BusControl); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddConsumer <ActivityRequestConsumer>(); configurator.AddExecuteActivity <SendRequestActivity, SendRequestArguments>(); configurator.AddBus(context => BusControl); configurator.AddRequestClient <ActivityRequest>(RequestQueueAddress); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { _connectionString = LocalDbConnectionStringProvider.GetLocalDbConnectionString(); configurator.AddSagaStateMachine <TestStateMachineSaga, TestInstance>() .DapperRepository(_connectionString); configurator.AddBus(provider => BusControl); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddConsumer <InitialConsumer>(); configurator.AddConsumer <SubsequentConsumer>(); configurator.AddBus(context => BusControl); configurator.AddRequestClient <InitialRequest>(InputQueueAddress); configurator.AddRequestClient(typeof(SubsequentRequest), SubsequentQueueAddress); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.SetKebabCaseEndpointNameFormatter(); configurator.AddConsumersFromNamespaceContaining <CrunchTheNumbersConsumer>(); configurator.AddRequestClient <CrunchTheNumbers>(); configurator.AddBus(provider => BusControl); }
protected static void ConfigureTwo(IBusRegistrationConfigurator configurator) { configurator.AddConsumer <Consumer2>(); configurator.UsingInMemory((context, cfg) => { cfg.Host(new Uri("loopback://bus-two/")); cfg.ConfigureEndpoints(context); cfg.UseHealthCheck(context); }); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddSagaStateMachine <TestStateMachineSaga, TestInstance>() .AzureTableRepository(cfg => { cfg.ConnectionFactory(() => TestCloudTable); }); configurator.AddBus(provider => BusControl); }
protected static void ConfigureOne(IBusRegistrationConfigurator configurator) { configurator.AddConsumer <Consumer1>(); configurator.AddConsumer <OneRequestConsumer>(); configurator.UsingInMemory((context, cfg) => { cfg.Host(new Uri("loopback://bus-one/")); cfg.ConfigureEndpoints(context); }); configurator.AddRequestClient <OneRequest>(); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddSagaStateMachine <TestStateMachineSaga, TestInstance>() .MongoDbRepository(r => { r.Connection = "mongodb://127.0.0.1"; r.DatabaseName = "sagaTest"; }); configurator.AddBus(provider => BusControl); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.SetKebabCaseEndpointNameFormatter(); configurator.AddConsumersFromNamespaceContaining <SubmitOrderConsumer>(); configurator.AddRequestClient <SubmitOrder>(); configurator.AddRequestClient <AuthorizeOrder>(); configurator.AddBus(provider => BusControl); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddSagaStateMachine <TestStateMachineSaga, TestInstance>() .EntityFrameworkRepository(r => { r.ConcurrencyMode = ConcurrencyMode.Pessimistic; r.DatabaseFactory(provider => () => new TestInstanceDbContext(LocalDbConnectionStringProvider.GetLocalDbConnectionString())); }); configurator.AddBus(provider => BusControl); }
/// <summary> /// Configure MassTransit to use Azure Service Bus for the transport. /// </summary> /// <param name="configurator">The registration configurator (configured via AddMassTransit)</param> /// <param name="configure">The configuration callback for the bus factory</param> public static void UsingAzureServiceBus(this IBusRegistrationConfigurator configurator, Action <IBusRegistrationContext, IServiceBusBusFactoryConfigurator> configure = null) { configurator.SetBusFactory(new ServiceBusRegistrationBusFactory(configure)); configurator.Registrar.RegisterSingleInstance(provider => { var subscriptionEndpointConnector = provider.GetRequiredService <IBusInstance>() as ISubscriptionEndpointConnector; return(subscriptionEndpointConnector ?? throw new ConfigurationException("The default bus instance is not an Azure Service Bus Instance")); }); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddSagaStateMachine <TestStateMachineSaga, TestInstance>() .CosmosRepository(r => { r.DatabaseId = "sagaTest"; r.CollectionId = "TestInstance"; r.UseClientFactory(_clientName); }); configurator.AddBus(provider => BusControl); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddConsumer <ConsumerA>(typeof(ConsumerADefinition)) .Endpoint(x => x.Name = "shared"); configurator.AddConsumer <ConsumerB>(typeof(ConsumerBDefinition)) .Endpoint(x => x.Name = "shared"); configurator.AddConsumer <ConsumerC>(typeof(ConsumerCDefinition)); configurator.AddBus(provider => BusControl); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddSaga <SimpleSaga>() .Endpoint(e => e.Name = "custom-endpoint-name") .InMemoryRepository(); configurator.AddSaga <SecondSimpleSaga>(typeof(SecondSimpleSagaDefinition)) .Endpoint(e => e.Temporary = true) .InMemoryRepository(); configurator.AddBus(provider => BusControl); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddSagaStateMachine <TestStateMachineSaga, TestInstance>() .EntityFrameworkRepository(r => { r.ConcurrencyMode = ConcurrencyMode.Optimistic; r.AddDbContext <DbContext, TestInstanceDbContext>(ApplyBuilderOptions); }); configurator.AddBus(provider => BusControl); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddSagaStateMachine <TestStateMachineSaga, TestInstance>() .CosmosRepository(r => { r.EndpointUri = Configuration.EndpointUri; r.Key = Configuration.Key; r.DatabaseId = "sagaTest"; r.CollectionId = "TestInstance"; }); configurator.AddBus(provider => BusControl); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddSagaStateMachine <TestStateMachineSaga, TestInstance>() .MartenRepository("server=localhost;port=5432;database=MartenTest;user id=postgres;password=Password12!;", r => { r.CreateDatabasesForTenants(c => { c.ForTenant() .CheckAgainstPgDatabase() .WithOwner("postgres") .WithEncoding("UTF-8") .ConnectionLimit(-1); }); }); configurator.AddBus(provider => BusControl); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddConsumer <PlainConsumer>(); configurator.AddConsumer <ByDefinitionConsumer, ByDefinitionConsumerDefinition>(); configurator.AddConsumer <ByEndpointConsumer>() .Endpoint(x => x.Name = "by-endpoint"); configurator.AddConsumer <ByEndpointDefinitionConsumer, ByEndpointDefinitionConsumerDefinition>() .Endpoint(x => x.Name = "by_endpoint_definition"); configurator.AddConsumer <ByEndpointNameConsumer, ByEndpointNameConsumerDefinition>() .Endpoint(x => x.Name = "by_endpoint_name"); configurator.AddConsumer <ByEndpointOverrideConsumer, ByEndpointOverrideConsumerDefinition>() .Endpoint(x => x.Name = "by_endpoint_override"); configurator.AddBus(provider => BusControl); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddSagaStateMachine <TestStateMachineSaga, TestInstance>() .EntityFrameworkRepository(r => { r.AddDbContext <DbContext, TestInstanceDbContext>(ApplyBuilderOptions); r.ConcurrencyMode = ConcurrencyMode.Pessimistic; if (DbContextOptionsBuilder.Options.Extensions.Any(x => x is NpgsqlOptionsExtension)) { r.LockStatementProvider = new PostgresLockStatementProvider(false); } else { r.LockStatementProvider = new SqlServerLockStatementProvider(false); } }); configurator.AddBus(provider => BusControl); }
/// <summary> /// Register bus. /// </summary> /// <exception cref="ArgumentNullException"/> public static void RegisterBus <TMqOptions>(this IBusRegistrationConfigurator collectionConfigurator, Action <IBusRegistrationContext, IRabbitMqBusFactoryConfigurator> registerConsumers, TMqOptions?rabbitMqOptions = null, Func <IBusRegistrationContext, RefreshConnectionFactoryCallback>?refreshConnectCallback = null) where TMqOptions : RabbitMqOptions, new() { if (collectionConfigurator == null) { throw new ArgumentNullException(nameof(collectionConfigurator)); } if (registerConsumers == null) { throw new ArgumentNullException(nameof(registerConsumers)); } collectionConfigurator.UsingRabbitMq((registrationContext, mqBusFactoryConfigurator) => { rabbitMqOptions ??= registrationContext.GetRequiredService <IOptions <TMqOptions> >().Value; mqBusFactoryConfigurator.Host(rabbitMqOptions.Host, rabbitMqOptions.Port, rabbitMqOptions.VHost, $"{Environment.MachineName}:{AppDomain.CurrentDomain.FriendlyName}", configurator => { configurator.OnRefreshConnectionFactory = refreshConnectCallback?.Invoke(registrationContext); configurator.Username(rabbitMqOptions.Username); configurator.Password(rabbitMqOptions.Password); if (rabbitMqOptions.IsSecure && rabbitMqOptions.CertificatePath != null) { configurator.UseSsl(ssl => ssl.CertificatePath = rabbitMqOptions.CertificatePath); } }); mqBusFactoryConfigurator.AutoDelete = false; mqBusFactoryConfigurator.Durable = true; // enable activity tracer for all consumers if (EnableConsumerTracer) { mqBusFactoryConfigurator.LinkActivityTracingContext(); } // register consumers here registerConsumers(registrationContext, mqBusFactoryConfigurator); }); }
/// <summary> /// Should be used on every AddMassTransit configuration /// </summary> /// <param name="configurator"></param> public static void ApplyCustomMassTransitConfiguration(this IBusRegistrationConfigurator configurator) { configurator.SetEndpointNameFormatter(new CustomEndpointNameFormatter()); }
protected void ConfigureRegistration(IBusRegistrationConfigurator configurator) { configurator.AddConsumer <SimplerConsumer>(); configurator.AddBus(provider => BusControl); }
/// <summary> /// Configure MassTransit to use the gRPC transport /// </summary> /// <param name="configurator">The registration configurator (configured via AddMassTransit)</param> /// <param name="baseAddress">The base Address of the transport</param> /// <param name="configure">The configuration callback for the bus factory</param> public static void UsingGrpc(this IBusRegistrationConfigurator configurator, Uri baseAddress, Action <IBusRegistrationContext, IGrpcBusFactoryConfigurator> configure = null) { configurator.SetBusFactory(new GrpcRegistrationBusFactory(baseAddress, configure)); }
/// <summary> /// Configure MassTransit to use Azure Service Bus for the transport. /// </summary> /// <param name="configurator">The registration configurator (configured via AddMassTransit)</param> /// <param name="configure">The configuration callback for the bus factory</param> public static void UsingAzureServiceBus(this IBusRegistrationConfigurator configurator, Action <IBusRegistrationContext, IServiceBusBusFactoryConfigurator> configure = null) { configurator.SetBusFactory(new ServiceBusRegistrationBusFactory(configure)); }