public static IBrighterHandlerBuilder UsePostgreSqlOutbox( this IBrighterHandlerBuilder brighterBuilder, PostgreSqlOutboxConfiguration configuration, ServiceLifetime serviceLifetime = ServiceLifetime.Singleton) { brighterBuilder.Services.AddSingleton <PostgreSqlOutboxConfiguration>(configuration); brighterBuilder.Services.Add(new ServiceDescriptor(typeof(IAmAnOutbox <Message>), BuildDynamoDbOutbox, serviceLifetime)); brighterBuilder.Services.Add(new ServiceDescriptor(typeof(IAmAnOutboxAsync <Message>), BuildDynamoDbOutbox, serviceLifetime)); return(brighterBuilder); }
public static IBrighterHandlerBuilder UseEventStoreOutbox( this IBrighterHandlerBuilder brighterBuilder, IEventStoreConnection connection, ServiceLifetime serviceLifetime = ServiceLifetime.Singleton) { brighterBuilder.Services.AddSingleton <IEventStoreConnection>(connection); brighterBuilder.Services.Add(new ServiceDescriptor(typeof(IAmAnOutbox <Message>), BuildEventStoreOutboxOutbox, serviceLifetime)); brighterBuilder.Services.Add(new ServiceDescriptor(typeof(IAmAnOutboxAsync <Message>), BuildEventStoreOutboxOutbox, serviceLifetime)); return(brighterBuilder); }
public static IBrighterHandlerBuilder UseMsSqlOutbox( this IBrighterHandlerBuilder brighterBuilder, MsSqlConfiguration configuration, Type connectionProvider, ServiceLifetime serviceLifetime = ServiceLifetime.Singleton) { brighterBuilder.Services.AddSingleton <MsSqlConfiguration>(configuration); brighterBuilder.Services.Add(new ServiceDescriptor(typeof(IMsSqlConnectionProvider), connectionProvider, serviceLifetime)); brighterBuilder.Services.Add(new ServiceDescriptor(typeof(IAmAnOutbox <Message>), BuildMsSqlOutbox, serviceLifetime)); brighterBuilder.Services.Add(new ServiceDescriptor(typeof(IAmAnOutboxAsync <Message>), BuildMsSqlOutbox, serviceLifetime)); return(brighterBuilder); }