1. 程式人生 > >java Timer定時任務。每天的某個時刻開啟(親測有效,直接執行)

java Timer定時任務。每天的某個時刻開啟(親測有效,直接執行)

這是管理類:
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
/**
 * Created by Administrator on 2017/9/29.
 */
public class TaskManager {
    /**
     * 開啟任務
     */
//預設時間間隔一天
private static long PERIOD_TIME = 24 * 60 * 60 * 1000; Log log = LogFactory.getLog(TaskManager.class); public void startTask(TimerTask task, int dayInterval, int hour, int minute){ PERIOD_TIME = dayInterval * 24 * 60 * 60 * 1000; Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY
, hour); calendar.set(Calendar.MINUTE, minute); calendar.set(Calendar.SECOND, 0); //執行定時任務的時間 Date date=calendar.getTime(); //為了避免若容器啟動的時間晚於定時時間,在重啟容器的時候會立刻執行該任務 if (date.before(new Date())) { date = this.addDay(date, 1); } Timer timer = new Timer(); //任務在指定的時間開始進行重複的固定延遲執行 timer.schedule(task,
date); } // 增加或減少天數 public Date addDay(Date date, int num) { Calendar startDT = Calendar.getInstance(); startDT.setTime(date); startDT.add(Calendar.DAY_OF_MONTH, num); return startDT.getTime(); } }
這是監聽:
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/**
 * Created by Administrator on 2017/9/29.
 */
public class RankTaskListener implements ServletContextListener {
    @Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
        System.out.println("開啟監聽了.2點28準時啟動...........");String day="1";
String hour="14";
String minute="28";
        new TaskManager().startTask(new RankTask(),
Integer.parseInt(day), Integer.parseInt(hour), Integer.parseInt(minute));
}

    @Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {

    }
}

這是定時任務:
importjava.util.TimerTask;
/**
 * Created by Administrator on 2017/9/29.
 */
public class RankTask extends TimerTask {
    @Override
public void run() {
        System.out.println("...............任務執行了.............");
}
}

web .xml配置監聽:
<listener>
  <listener-class>com.mytest.task.RankTaskListener</listener-class>
</listener>

相關推薦

java Timer定時任務每天某個時刻開啟有效直接執行

這是管理類:import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import ja

Java 加密解密zip檔案有效附原始碼和jar包

有一個朋友問我改怎麼做,到網上搜了一下,果然有類似的文章及大神解決了此類難題,現將程式碼及所需的jar包附上,供大家使用 package test1; import java.io.File;

深入 Java Timer 定時任務排程器實現原理

使用 Java 來排程定時任務時,我們經常會使用 Timer 類搞定。Timer 簡單易用,其原始碼閱讀起來也非常清晰,本節我們來仔細分析一下 Timer 類,來看看 JDK 原始碼的編寫者是如何實現一個穩定可靠的簡單排程器。 Timer 使用 Timer 排程任務有一次性排程和迴圈排程,迴圈排程

java Timer定時任務

long daySpan = 24 * 60 * 60 * 1000; //一天執行一次 // 規定的每天時間14:30:00執行 final SimpleDateFormat sdf = new SimpleDateForma

深入瞭解 Java Timer 定時任務排程器實現原理

我們在使用 Java 來排程定時任務時,我們經常會使用 Timer 類搞定。Timer 簡單易用,其原始碼閱讀起來也非常清晰,本節我們來仔細分析一下 Timer 類,來看看 JDK 原始碼的編寫者是如何實現一個穩定可靠的簡單排程器。 Timer 使用 Timer 排程任務有一次性排程

Linux普通使用者設定Crontab定時任務執行有效

Crontab命令及用法我這裡就不多做解釋了,直接從設定Crontab開始。**在root使用者下執行**1.安裝crontab:使用命令:yum install crontabs**在普通使用者下執行

springboot2.0傳送郵件QQ、網易【有效

目的:springboot2.0-傳送郵箱。QQ、網易郵箱  第一步:新增依賴【網上都是說添一種依賴這是錯誤的,會出現注入的時候為null】 <!--郵箱依賴--> <dependency> <grou

java中如何將office檔案轉成pdf或者圖片有效

前段時間做專案時,需要將word文件在瀏覽器中開啟,一般的在瀏覽器中開啟word都是直接提示下載的,找了好久都是些pageoffice等的收費外掛,小專案成本要儘量壓縮,所以就放棄了這種收費的外掛了。突然想到有些瀏覽器能直接開啟pdf或者圖片,手機端也需要顯示圖片,所以可以

java通過JDBC連結SQLServer2012 (有效)並且進行簡單的查增刪改

下面請一字一句地看,一遍就設定成功,比你設定幾十遍失敗,費時會少得多。 首先,在連線資料庫之前必須保證SQL Server 2012是採用SQL Server身份驗證方式而不是windows身份驗證方式。如果在安裝時選用了後者,則重新設定如下: http://blog.1

android如何判斷應用是否在前臺?有效簡單

public class BaseApplication extends MultiDexApplication implements Application.ActivityLifecycleCallbacks {private int activityCount;//activity的count數publ

Unity 獲取某個資料夾下的所有圖片並進行展示有效

 功能實現如題。如何將某個資料夾下的所有圖片找出來,這是將程式中一個截圖功能擷取到的所有圖片進行展示出來的功能需求,但是因為是通過GUI的方式,我感覺缺陷很大,下面有修改過的版本。 using UnityEngine; using System.Colle

java生成二維碼工具類有效轉載請標明出處謝謝!

自動創建 oat for pub 輸出 工具類 port 需要 ase 工具類使用需要在項目中引入二維碼處理所需要的jar包 1.pom.xml首先加入 <!-- https://mvnrepository.com/artifact/com.google.zxing/

java Timer 定時每天淩晨0點執行任務

nth 任務 定時任務 執行 auth oid ddd imp java import java.util.TimerTask; /** * 執行內容 * @author admin_Hzw * */ public class Task exten

java Timer 定時每天凌晨1點執行任務

import java.util.TimerTask; /** * 執行內容 * @author admin_Hzw * */ public class Task extends TimerT

使用java配置定時任務的幾種配置方式及示例

遞增 exc trigge strong trigger except 字符 ssi uart Spring定時器,主要有兩種實現方式,包括Java Timer定時和Quartz定時器! 1.Java Timer定時 首先繼承java.util.TimerTask類實現

JAVA實現定時任務

col 時間 頻率 set 進行 con hour gettime test import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util

java實現定時任務 Schedule

exec use 關心 ted sun gets 只需要 默認 允許 1.java定時任務可以借助 java.util.Timer 來實現 [java] view plain copy import java.util.Calendar; import

使用quartz.jar 、quartz-jobs.jar 實現定時任務 實現 定時采集 接口數據

art map() t對象 obd class 調用 ssi tail 方式 前言   定時任務管理,在java中有很多種的方式 ,有java自帶的註解方式@Scheduled 等 ,現在我要說的是一種也是使用比較廣泛的一種quartz管理  使用此類 需要的加jar

使用spring-boot創建定時任務同時創建多線程執行定時任務

from vnr thread make oca 工程 遷移 prefix gist 1,下載spring-boot的maven工程:http://start.spring.io/ 直接自定義工程名稱。 2 , 啟動類增加註解:@EnableScheduling 具體的業

linux服務器上使用crontab指令執行制定PHP文件生成定時任務

php sage 對象 安裝 dbn 個人 mage message into 首先 寫個 PHP文件 ,我寫的是向數據庫表插入數據,如下圖 <?php $dbms=‘mysql‘; //數據庫類型 $host=‘localhost‘; //數據庫主機名 $dbN