第一步:定義兩個類java
Task3spring
package group.esperanto.util; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component //必須標記爲一個Spring管理的JavaBean類 public class MyTask3 { //不須要繼承任何子類 @Scheduled(fixedRate=2000) //設置爲兩秒一執行 間隔觸發 public void excJob() { System.out.println("【MyTask3】當前日期: " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); } }
Task4app
package group.esperanto.util; import java.text.SimpleDateFormat; import java.util.Date; import java.util.concurrent.TimeUnit; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component //必須標記爲一個Spring管理的JavaBean類 public class MyTask4 { @Scheduled(cron="* * * * * ?" ) // 一秒一執行 定時觸發 public void excJob() { try{ // 休息5秒再繼續執行 TimeUnit.SECONDS.sleep(5); }catch (Exception e) { } System.out.println("【MyTask4】當前日期: " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); } }
第二步:修改applicationContext文件code
<task:annotation-driven/> <!-- 定義一個任務調度池,可並行調度20個任務 --> <task:scheduler id="schedulerPool" pool-size="20"/> <context:annotation-config/> <context:component-scan base-package="cn.mldn"/>