1. 程式人生 > >spring整合quartz任務排程(註解式)

spring整合quartz任務排程(註解式)

配置springmvc.xml

xmlns 多加下面的內容、

xmlns:task="http://www.springframework.org/schema/task"  

然後xsi:schemaLocation多加下面的內容、

http://www.springframework.org/schema/task  
http://www.springframework.org/schema/task/spring-task.xsd  

最後是我們的task任務掃描註解

<task:annotation-driven/>  
<!-- 自動掃描註解的bean -->    
<context:component-scan base-package="com"/>   

之前我們都是通過基於XML的方式實現Spring Quartz 雖然配置起來特別的方便,但是Spring還支援基本註解的方式來配置,這樣做不僅更加簡單,而且程式碼量也更加少了很多。

配置需要排程的類,並添加註解

package com.lifuyi.util;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 *  系統中的定時任務
 */
@Component //讓Spring可以掃描到並初始化 public class TimingTask { /* public TimingTask() { System.out.println("類建立成功"); } */ /** * 每隔10秒查詢一次是否有訊息 */ @Scheduled(cron = "0/10 * * * * ?") //配置定時任務的執行時間 public void queryInfo() { System.out.println("查詢新訊息 "
+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ").format(new Date())); } /** * 每隔30分鐘請求一次ERP系統 */ @Scheduled(cron = "0 0/30 * * * ?") //配置定時任務的執行時間 public void RequestErp() { System.out.println("請求ERP系統 " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ").format(new Date())); } /** * 每隔5分鐘檢視是否在繼續交流 */ @Scheduled(cron = "0 0/5 * * * ?") //配置定時任務的執行時間 public void Dialogue() { System.out.println("檢視是否在繼續交流 " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ").format(new Date())); } }