是否可以通过配置文件(quartz.properties或app.config / web.config)中保存的属性混合配置Quartz,还可以通过StdSchedulerFactory构造函数配置一些?
我想通过构造函数传递AdoJobStore连接字符串,因为它是动态的,具体取决于环境,但其余的设置是静态的,所以最好放在配置文件中。
我尝试通过构造函数仅传入quartz.dataSource.myDS.connectionString
属性,同时在工作目录中的quartz.config中包含其余属性。但是,我收到错误:
Provider not specified for DataSource: myDS
所以我想这意味着如果你使用接受NameValueCollection的构造函数,那么它就不会检查配置文件了。
我知道quartz.config文件位于正确的位置,因为如果我将连接字符串放在那里并使用默认构造函数,那么一切正常
答案 0 :(得分:2)
最后,它们都只是命名 - 值对。
您可以在.xml文件中包含“大部分”...然后通过代码“添加”您想要的内容。
或者将所有这些都放在代码中。
请参阅UnitTests获取源代码,您会相当清楚地看到这一点。
这样的事情:
NameValueCollection config = (NameValueCollection)ConfigurationManager.GetSection("quartz");
config.Add("MyCodedUpKey", "MyCodedUpValue");
如果你有“碰撞”(配置文件中你要覆盖的“密钥”......应用一些简单的名称对“更新现有密钥”逻辑“