spring整合Quartz時區問題造成任務晚執行八小時

來源:互聯網
上載者:User

標籤:增加   tailf   framework   detail   size   exp   每日   white   lin   

項目中在Spring中整合了Quartz,配置的每日淩晨執行的定時任務都是到了八點多才執行,經過一番尋找,可能是時區問題造成的。
  • 一種解決辦法是在JVM啟動參數中增加 --Duser.timezone=GMT+08
  • 另一種辦法是在設定檔中增加timeZone的配置
改JVM參數的方式,一但項目遷移實施人員可能會忘記改,所以決定再代碼裡做手腳。 1、擷取一個TimeZone,使用java.util.TimeZone.getTimeZone(String ID)擷取指定的TimeZone,ID有兩種形式,一種為完整名稱例如“America/Los_Angeles”、“Asia/Shanghai”,或者一個自訂ID比如“GMT-8:00”Spring配置如下
<bean id="timeZone" class="java.util.TimeZone" factory-method="getTimeZone">  <constructor-arg>    <value>GMT+8:00</value>  </constructor-arg></bean>
2、給TriggerBean注入
 <bean id="testJob" class="org.eu.raybit..jobs.TestJob" /> <bean id="testJobMethod"   class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">   <property name="targetObject">     <ref bean="testJob" />   </property>   <property name="targetMethod">     <value>execute</value>   </property></bean>
<bean id="testJobTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean">  <property name="jobDetail" ref="testJobMethod"></property>  <property name="cronExpression" value="0 0 0 1/1 * ? "></property>  <property name="timeZone" ref="timeZone"/></bean>

 

spring整合Quartz時區問題造成任務晚執行八小時

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.