我知道Quartz.Net有几种方法可以在启动时加载它:(来自http://jvilalta.blogspot.com/2011/03/how-does-quartznet-configuration-work.html)
注意quartz.config文件。
我的问题:
是配置文件名" quartz.config"固定的(意思是硬编码, 不能改变?)
如果不是,我该如何更改?例如我想读一读 FinancialQuartz.config而不是quartz.config。
如果没有更改名称的选项" quartz.config"。我该如何指定 什么时候从FinancialQuartz.config或 CalculationQuartz.config? (我没有真正的情况 问题,只是想知道)
此致
答案 0 :(得分:4)
我很困惑。
在DotNet中。您可以将app.config或web.config文件指向您选择的文件,如下所示。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="quartz" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</sectionGroup>
</configSections>
<quartz configSource="MyQuartzSettings.config" />
和#34; MyQuartzSettings.config&#34;看起来像这样(许多人的一个例子)
<quartz>
<add key="quartz.plugin.jobInitializer.type" value="Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin" />
<add key="quartz.scheduler.instanceName" value="DefaultQuartzScheduler" />
<add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
<add key="quartz.threadPool.threadCount" value="10" />
<add key="quartz.threadPool.threadPriority" value="2" />
<add key="quartz.jobStore.misfireThreshold" value="60000" />
<add key="quartz.jobStore.type" value="Quartz.Simpl.RAMJobStore, Quartz" />
<add key="quartz.plugin.jobInitializer.fileNames" value="Quartz_Jobs_001.xml" />
<add key="quartz.plugin.jobInitializer.failOnFileNotFound" value="true" />
<add key="quartz.plugin.jobInitializer.scanInterval" value="120" />
</quartz>
这就是你在说什么吗?
答案 1 :(得分:2)
除了@granadaCoder给出的答案外,您还可以将quartz.config环境变量设置为要加载的文件的名称。请注意,configSource属性不是quartz.net特有的,而是.Net框架的一个特性:SectionInformation.ConfigSource Property
答案 2 :(得分:0)
我认为现在已经解决了。但是有一个解决方法。
将配置从其他方式读入var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddIniFile("someotherfile.ini", false, true);
var config = builder.Build();
var quartzProperties = new System.Collections.Specialized.NameValueCollection();
foreach (var p in config.GetSection("Quartz").GetChildren().AsEnumerable())
{
quartzProperties.Add(p.Key, p.Value);
}
IScheduler scheduler = new StdSchedulerFactory(quartzProperties).GetScheduler();
scheduler.Start();
。
create table author(name text unique, ...)