Initialize() 2 { (cfg != null) 5 { 6 return; 7 } 8 if (initException != null) 9 { 10 throw initException; 11 } 12 13 NameValueCollection props = (NameValueCollection) ConfigurationManager.GetSection(ConfigurationSectionName); requestedFile = QuartzEnvironment.GetEnvironmentVariable(PropertiesFile); 16 17 string propFileName = requestedFile != null && requestedFile.Trim().Length > 0 ? requestedFile : "~/quartz.config"; { 22 propFileName = FileUtil.ResolveFile(propFileName); 23 } 24 catch (SecurityException) 25 { ); ; 28 } (props == null && File.Exists(propFileName)) 31 { { 35 PropertiesParser pp = PropertiesParser.ReadFromFileResource(propFileName); 36 props = pp.UnderlyingProperties; , propFileName)); 38 } 39 catch (Exception ex) 40 { .FormatInvariant(propFileName, ex.Message), ex); 42 } 43 44 } 45 if (props == null) 46 { { ); 51 props = pp.UnderlyingProperties; ); 53 } 54 catch (Exception ex) 55 { .FormatInvariant(ex.Message), ex); 57 } 58 } 59 if (props == null) 60 { SchedulerConfigException( 62 @"Could not find <quartz> configuration section from your application config or load default configuration from assembly. ); 64 } 65 Initialize(OverrideWithSysProps(props)); 66 }
仔细阅读上面的一串代码,你会发现,默认quartz参数配置来源于三个地方。
1. app.config中的section节点。
2. bin目录下的~/quartz.config文件。
3. 默认配置的NameValueCollection字典集合,也就是上一篇博客给大家做的一个演示。
我个人不怎么喜欢通过quartz.config文件进行配置,这样也容易写死,所以我还是喜欢使用最简单的NameValueCollection配置,因为它的数据源可来源
于第三方存储结构中,配置代码如下: