欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

spring利用squertz實現(xiàn)定時任務(wù)

 更新時間:2017年01月22日 09:06:15   作者:WhyWin  
spring squertz是一個強大的定時任務(wù)處理方式。下面這篇文章主要介紹了spring利用squertz實現(xiàn)定時任務(wù)的相關(guān)資料,文中介紹的很詳細,對大家具有一定的參考借鑒價值,需要的朋友們下面來一起看看吧。

前言

說起定時任務(wù),開發(fā)的小伙伴們肯定不陌生了。有些事總是需要計算機去完成的,而不是傻傻的靠我們自己去。可是好多人對定時器總感覺很陌生,今天小編就帶小伙伴們揭開它的神秘面紗,講解一下spring利用squertz實現(xiàn)定時任務(wù)。

一、需要的Jar

quartz-1.8.5.jar 
commons-logging.jar 
spring-core-3.0.5.RELEASE.jar 
spring-beans-3.0.5.RELEASE.jar 
spring-context-3.0.5.RELEASE.jar 
spring-context-support-3.0.5.RELEASE.jar 
spring-asm-3.0.5.RELEASE.jar 
spring-expression-3.0.5.RELEASE.jar 
spring.transaction-3.0.5.RELEASE.jar 
spring-web-3.0.5.RELEASE.jar 

二、配置文件

這里配置你要在什么時候執(zhí)行你的定時任務(wù),執(zhí)行的是什么方法,如下面是在2016.11.10 23:00:00,執(zhí)行com.seewoedu.train.quartz.GenerateRewardListTaskgenerate方法,這里使用cron指定了執(zhí)行的時間,相關(guān)語法可查看http://www.dbjr.com.cn/article/103861.htm

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
 <!-- 啟動觸發(fā)器的配置開始 -->
 <bean name="startQuertz" lazy-init="false" autowire="no"
  class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
 <property name="triggers">
  <list>
  <ref bean="myJobTrigger" />
  </list>
 </property>
 </bean>
 <!-- 啟動觸發(fā)器的配置結(jié)束 -->

 <!-- quartz-2.x的配置 -->
 <bean id="myJobTrigger"
  class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
 <property name="jobDetail">
  <ref bean="myJobDetail" />
 </property>
 <property name="cronExpression">
  <!--<value>10 0/1 * * * ?</value>--> <!-- Cron表達式“10 */1 * * * ?”意為:從10秒開始,每1分鐘執(zhí)行一次。 -->
  <value>0 0 9 10 12 ? 2016</value> <!-- Cron表達式“0 0 23 10 11 ? 2016”意為:只在2016.11.10 23:00:00 執(zhí)行。 -->
 </property>
 </bean>
 <!-- 調(diào)度的配置結(jié)束 -->

 <!-- job的配置開始 -->
 <bean id="myJobDetail"
  class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
 <property name="targetObject">
  <ref bean="myJob" />
 </property>
 <property name="targetMethod">
  <value>generate</value>
 </property>
 </bean>
 <!-- job的配置結(jié)束 -->

 <!-- 工作的bean -->
 <bean id="myJob" class="com.seewoedu.train.quartz.GenerateRewardListTask" />
</beans>

三、被執(zhí)行的方法

public class GenerateRewardListTask {
 @Autowired
 private GiftReceiveRecordService giftReceiveRecordService;

 org.slf4j.Logger logger = LoggerFactory.getLogger(GenerateRewardListTask.class);

 public void generate() throws Exception {
 giftReceiveRecordService.generateRewardMember(); //執(zhí)行的方法

 }
}

四、需要注意的問題

      1、執(zhí)行時間指定到年份時,會存在一個問題,就是在你在過了這個時間后再啟動項目的時候,他會一直報一個memory leak的錯誤,大概的意思是你的定時任務(wù)將永遠不會被執(zhí)行,導致項目一直啟動不了。

      2、定時任務(wù)是通過你部署項目開始計算到你要執(zhí)行定時任務(wù)的時間間隔,而不是實時獲取你服務(wù)器時間的方法實現(xiàn)的,所以通過修改服務(wù)器時間想測試定時任務(wù)是否生效是不可行的。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

最新評論