quartz-scheduler - 通过配置文件和构造函数的混合来配置 Quartz.NET

标签 quartz-scheduler quartz.net

是否可以通过配置文件(quartz.properties 或 app.config/web.config)中保存的混合属性以及 StdSchedulerFactory 构造函数来配置 Quartz?

我想通过构造函数传递 AdoJobStore 连接字符串,因为它是动态的,具体取决于环境,但其余设置是静态的,因此最好放置在配置文件中。

我尝试只传递 quartz.dataSource.myDS.connectionString通过构造函数配置属性,同时将其余属性放在工作目录中的quartz.config 中。但是,我收到错误:

Provider not specified for DataSource: myDS

所以我想这意味着如果您使用接受 NameValueCollection 的构造函数,那么它就不必检查配置文件。

我知道quartz.config 文件位于正确的位置,因为如果我将连接字符串放在那里并使用默认构造函数,那么一切都会正常工作

最佳答案

最后,它们都是简单的命名值对。

您可以将其中的“大部分”放在 .xml 文件中...然后通过代码“添加”您想要的内容。

或者将它们全部写入代码中。

查看源代码的单元测试,您会相当清楚地看到这一点。

类似这样的事情:

    NameValueCollection config = (NameValueCollection)ConfigurationManager.GetSection("quartz");

    config.Add("MyCodedUpKey", "MyCodedUpValue");

如果您有“冲突”(您想要覆盖配置文件中的“键”。应用一些简单的名称值对“更新现有键”逻辑”

Check if Key Exists in NameValueCollection

关于quartz-scheduler - 通过配置文件和构造函数的混合来配置 Quartz.NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22078761/

相关文章:

java - Quartz Misfire - 并发

java - Spring Scheduled 注解是如何工作的

c# - Quartz.net 的 Unity LifeTime 管理器

vb.net - 如何从 Quartz 调用 .NET 函数/方法

java - 将类从 WAR 移动到 JAR 时出现 NoClassDefFoundError

java - 如何更改集群 quartz 作业的时间表?

java - 防止由特定触发器触发的实例的并发执行

c# - 如何将 Quartz.NET 与 ASP.NET Core Web 应用程序一起使用?

c# - 在工作时间/工作日内每 5 分钟调用一次方法 - Quartz.net

c# - Quartz.NET + SQLite Jobstore 抛出 JobPersistenceException