/// <summary> /// Configures Rebus to store timeouts internally in the given collection in MongoDB, in the database specified by the connection string /// </summary> public static void StoreInMongoDb( this RebusTimeoutsConfigurer configurer, string connectionString, string collectionName, ILogger logger) { configurer.Use(new MongoDbTimeoutStorage(connectionString, collectionName, logger)); }
/// <summary> /// Configures Rebus to store timeouts in PostgreSQL. /// </summary> public static PostgreSqlTimeoutStorageFluentConfigurer StoreInPostgreSql(this RebusTimeoutsConfigurer configurer, string connectionString, string timeoutsTableName) { var storage = new PostgreSqlTimeoutStorage(connectionString, timeoutsTableName); configurer.Use(storage); return(new PostgreSqlTimeoutStorageFluentConfigurer(storage)); }
/// <summary> /// Configures Rebus to store timeouts in AdoNet. /// </summary> public static AdoNetTimeoutStorageFluentConfigurer StoreInAdoNet(this RebusTimeoutsConfigurer configurer, string connectionStringName, string timeoutsTableName) { var connString = GetConnectionString(connectionStringName); var factory = new AdoNetConnectionFactory(connString.ConnectionString, connString.ProviderName); var storage = new AdoNetTimeoutStorage(factory, timeoutsTableName); configurer.Use(storage); return(storage); }
/// <summary> /// Store saga timeouts using two IStoreTimeouts. /// </summary> /// <param name="configurer">TimeoutsConfigurer to use DualSagaPersister in</param> /// <param name="oldStoreTimeouts">Timeouts are found in this IStoreTimeouts.</param> /// <param name="newStoreTimeouts">Timeouts are found in this IStoreSagaData as well as inserted.</param> public static void StoreInDualPersister(this RebusTimeoutsConfigurer configurer, Action <RebusTimeoutsConfigurer> oldStoreTimeouts, Action <RebusTimeoutsConfigurer> newStoreTimeouts) { var backbone1 = new ConfigurationBackbone((IContainerAdapter)configurer.Backbone.ActivateHandlers); var configurer1 = RebusTimeoutsConfigurerFactory(backbone1); oldStoreTimeouts(configurer1); var backbone2 = new ConfigurationBackbone((IContainerAdapter)configurer.Backbone.ActivateHandlers); var configurer2 = RebusTimeoutsConfigurerFactory(backbone2); newStoreTimeouts(configurer2); configurer.Use(new DualSagaTimeoutStorage(configurer1.Backbone.StoreTimeouts, configurer2.Backbone.StoreTimeouts)); }