public ITimeoutManager Create()
        {
            var oracleTimeoutManager = new OracleTimeoutManager(OracleTestHelper.ConnectionHelper, "timeouts", new ConsoleLoggerFactory(false), _fakeRebusTime);

            oracleTimeoutManager.EnsureTableIsCreated();
            return(oracleTimeoutManager);
        }
        /// <summary>
        /// Configures Rebus to use Oracle to store timeouts.
        /// </summary>
        public static void StoreInOracle(this StandardConfigurer <ITimeoutManager> configurer, string connectionString, string tableName,
                                         bool automaticallyCreateTables = true, Action <OracleConnection> additionalConnectionSetup = null, bool enlistInAmbientTransaction = false)
        {
            configurer.Register(c =>
            {
                var rebusLoggerFactory  = c.Get <IRebusLoggerFactory>();
                var subscriptionStorage = new OracleTimeoutManager(new OracleConnectionHelper(connectionString, additionalConnectionSetup, enlistInAmbientTransaction), tableName, rebusLoggerFactory);

                if (automaticallyCreateTables)
                {
                    subscriptionStorage.EnsureTableIsCreated();
                }

                return(subscriptionStorage);
            });
        }