/// <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));
 }
Esempio n. 2
0
        /// <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));
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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));
        }