gpt4 book ai didi

Java Quartz 默认时区

转载 作者:搜寻专家 更新时间:2023-10-31 08:17:07 26 4
gpt4 key购买 nike

我使用 -Duser.timezone=UTC 运行 Tomcat。然而,Quartz scheduler 2.2.1 似乎在欧洲/布拉格运行,这是我的操作系统时区。

有没有办法在自定义时区运行 Quartz 或确定 Quartz 使用的时区?如果没有,有没有办法以编程方式确定操作系统时区?

最佳答案

默认情况下,Quartz 将使用默认的系统区域设置和时区,并且它不会被编程为获取您提供的应用程序的属性 user.timezone。还请记住,这仅适用于 CronTrigger 而不是 SimpleTrigger。

例如,如果您使用的是 Spring:

 <bean id="timeZone" class="java.util.TimeZone" factory-method="getTimeZone">
<constructor-arg value="GMT" />
</bean>
<bean id="yourTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="yourJob" />
<property name="cronExpression" value="0 0 0/1 * * ?" />
<property name="timeZone" ref="timeZone" />
</bean>

如果您使用的是纯 java:

Trigger yourTrigger = TriggerBuilder
.newTrigger()
.withIdentity("TRIGGER-ID", "TRIGGER-GROUP")
.withSchedule(CronScheduleBuilder
.cronSchedule("0 0 0/1 * * ?")
.inTimeZone(TimeZone.getTimeZone("GMT")))
).build();

关于Java Quartz 默认时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19545181/

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