示例#1
0
        public QueueSettings()
        {
            //XmlTable table = NetConfig.GetCustomConfig("QueueSettings");

            var section = QueueServerConfig.GetConfig();
            var table   = section.QueueSettings;

            if (table == null)
            {
                throw new ArgumentException("Can not load XmlTable config");
            }
            RootPath   = table.Get <string>("RootPath", DefaultRootPath);
            QueuesPath = Path.Combine(RootPath, QueuesFolder);

            MaxSize            = table.Get <long>("MaxSize", QueueDefaults.DefaultQueueMaxSize);
            DefaultExpiration  = table.Get <int>("DefaultExpiration", 30);
            SyncInterval       = table.Get <int>("SyncInterval", 60);
            InitialCapacity    = table.Get <int>("InitialCapacity", QueueDefaults.InitialCapacity);
            EnableLog          = table.Get <bool>("EnableLog", false);
            ReceiveBufferSize  = table.Get <int>("ReceiveBufferSize", 8192);
            SendBufferSize     = table.Get <int>("SendBufferSize", 8192);
            QueueConfigFile    = table.Get("QueueConfigFile");
            EnableFileWatcher  = table.Get <bool>("EnableFileWatcher", false);
            TaskerTimeout      = table.Get <int>("TaskerTimeout", 60);
            EnableAsyncTask    = table.Get <bool>("EnableAsyncTask", true);
            EnableMailerQueue  = table.Get <bool>("EnableMailerQueue", false);
            EnableQueueManager = table.Get <bool>("EnableQueueManager", false);

            //EnableQueueController = table.Get<bool>("EnableQueueController", false);
            //EnableTopicController = table.Get<bool>("EnableTopicController", false);

            EnableJournalQueue = table.Get <bool>("EnableJournalQueue", false);

            EnableDebugLog = table.Get <bool>("EnableDebugLog", false);
            //LogMonitorCapacityLines = table.Get<int>("LogMonitorCapacityLines", 1000);

            EnablePipeConsumer = table.Get <bool>("EnablePipeConsumer", false);
            EnableTcpConsumer  = table.Get <bool>("EnableTcpConsumer", false);
            EnableHttpConsumer = table.Get <bool>("EnableHttpConsumer", false);

            EnablePipeProducer = table.Get <bool>("EnablePipeProducer", false);
            EnableTcpProducer  = table.Get <bool>("EnableTcpProducer", false);
            EnableHttpProducer = table.Get <bool>("EnableHttpProducer", false);

            EnableFolderListener     = table.Get <bool>("EnableFolderListener", false);
            EnableDbListener         = table.Get <bool>("EnableDbListener", false);
            EnableSizeHandler        = table.Get <bool>("EnableSizeHandler", false);
            EnablePerformanceCounter = table.Get <bool>("EnablePerformanceCounter", false);

            QueueDefaults.DefaultExpiration = DefaultExpiration;
            QueueDefaults.EnableLog         = EnableLog;

            QLogger.SetLogger(EnableLog, EnableDebugLog);
        }