示例#1
0
        public FluentNHibernateJobStorage(SessionFactoryInfo info)
        {
            ProviderType    = info.ProviderType;
            _sessionFactory = info.SessionFactory;

            var tmp = info.Options as FluentNHibernateStorageOptions;

            Options = tmp ?? new FluentNHibernateStorageOptions();

            InitializeQueueProviders();
            _expirationManager     = new ExpirationManager(this, Options.JobExpirationCheckInterval);
            _countersAggregator    = new CountersAggregator(this, Options.CountersAggregateInterval);
            _serverTimeSyncManager = new ServerTimeSyncManager(this, TimeSpan.FromMinutes(5));


            //escalate session factory issues early
            try
            {
                EnsureDualHasOneRow();
                RefreshUtcOffset();
            }
            catch (FluentConfigurationException ex)
            {
                throw ex.InnerException ?? ex;
            }
        }
        public FluentNHibernateJobStorage(SessionFactoryInfo info)
        {
            SessionFactoryInfo      = info;
            ClassMetadataDictionary = info.SessionFactory.GetAllClassMetadata();
            ProviderType            = info.ProviderType;
            _sessionFactory         = info.SessionFactory;

            var tmp = info.Options as FluentNHibernateStorageOptions;

            Options = tmp ?? new FluentNHibernateStorageOptions();

            InitializeQueueProviders();
            _expirationManager     = new ExpirationManager(this);
            _countersAggregator    = new CountersAggregator(this);
            _serverTimeSyncManager = new ServerTimeSyncManager(this);


            //escalate session factory issues early
            try
            {
                EnsureDualHasOneRow();
            }
            catch (FluentConfigurationException ex)
            {
                throw ex.InnerException ?? ex;
            }
        }