gpt4 book ai didi

java - quartz 调度程序 : How to dynamically read a quartz property from Java via API?

转载 作者:行者123 更新时间:2023-11-30 04:33:14 25 4
gpt4 key购买 nike

Quartz通常通过类路径上的 quartz.properties 进行配置。

例如:

org.quartz.scheduler.instanceName = BagginsScheduler
org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount=5
org.quartz.threadPool.threadPriority=1

在运行 Quartz 作业的同一应用程序中,我想读出属性。

读取调度程序名称很容易:

Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();  
String name = scheduler.getSchedulerName();

但是我怎样才能读取“threadPriority”属性呢?

以下方法不起作用:

scheduler.getContext().getString("org.quartz.threadPool.threadPriority");

更新的解决方案:看来该属性无法通过 Quartz API 读取,您必须通过常规 Properties:

Properties prop = new Properties();
prop.load(AnyClassUsedByJVM.class.getClassLoader().getResourceAsStream("quartz.properties"));
String prio = prop.getProperty("org.quartz.threadPool.threadPriority");

这很好用。

最佳答案

您只需将该属性添加到您的 quartz.properties 中即可。例如:

org.quartz.threadPool.threadPriority=3

有关详细信息,请参阅 hereconfiguration documentation

编辑:要在运行时读取属性,您可以使用 Properties 。以下是您可以使用的示例代码片段:

Properties p = new Properties();
p.load("/tmp/quartz.properties"); // path to your properties file
System.out.println(p.getProperty("org.quartz.threadPool.threadPriority"); // prints 3

关于java - quartz 调度程序 : How to dynamically read a quartz property from Java via API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14103150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com