利用quartz在springmvc配置定時任務
阿新 • • 發佈:2020-08-22
定時任務分為週期性執行(一小時執行一次,一分鐘執行一次)和某個時間點(幾點幾刻)執行
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.2</version> </dependency>
然後在spring-servlet.xml中找個地方加上
xmlns:task="http://www.springframework.org/schema/task"
和
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
然後配置一下bean,隨便起個名字,比如叫做quartzTaskBean,然後配置任務時間表
任務時間表需要引用這個bean的id就是剛才配置的quartzTaskBean
定時任務按道理應該屬於service吧。。。所以在com.hs.service中建立一個服務,叫做QuartzTaskService,所有的定時任務都寫在這裡好了
何時執行用
cron="*/5 * * * * ?"配置,五個星星分別是 秒 分 時 日 月 ❓是周,後邊還可以繼續新增年這個東西自己算太麻煩了,網上有工具
cron計算工具
<task:scheduled-tasks> <task:scheduled ref="quartzTaskBean" method="quartzJobTestMethod" cron="*/10 * * * * ?" /> </task:scheduled-tasks> <bean id="quartzTaskBean" class="com.hs.service.QuartzTaskService"/>
然後在service這麼寫
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.hs.service; import org.joda.time.DateTime; import org.springframework.stereotype.Service; /** * * @author wishr */ @Service public class QuartzTaskService { public void quartzTest() { DateTime dt = new DateTime(); System.out.println(dt.toString()); } }