首頁 Java java教程 配置web.xml的實例教程

配置web.xml的實例教程

Jul 19, 2017 pm 01:39 PM
quartz web.xml 執行任務

        今天項目上需要做個定時任務,臨時學的,quartz的功能還是很強大用起來也方便,這裡的demo只是實現每天定時執行一次,其他功能可以在此基礎上繼續深入學習,哈哈睡覺,明天繼續。

 一直有想法把自己學的東西記錄整理分享做出來,一直沒動過,今天開始第一篇,這是今天專案上需要做個定時任務,臨時學的,quartz的功能還是很強大用起來也方便,這裡的demo只是實現每天定時執行一次,其他功能可以在此基礎上繼續深入學習,哈哈睡覺,明天繼續。

一、maven依賴:

<dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.3</version>
  </dependency>
  <dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz-jobs</artifactId><version>2.2.3</version>
  </dependency>
登入後複製

二、Doem:

TimingTaskSchedule需要實作ServletContextListener接口,監聽後啟動專案時的啟動類別

package com.thinkgem.jeesite.modules.sys.listener;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;public class TimingTaskSchedule implements ServletContextListener{// 服务器启动时执行该事件    @Overridepublic void contextInitialized(ServletContextEvent arg0) {try {
            QuartzLoad.run();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }// 服务器停止时执行该事件    @Overridepublic void contextDestroyed(ServletContextEvent arg0) {try {
            QuartzLoad.stop();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
登入後複製

 

這裡的0 0 0 ? * * 表示每天00:00:00執行一次

從左到右分別表示秒分時日月週年

?表示不關心*表示每年可以忽略不寫

package com.thinkgem.jeesite.modules.sys.listener;import org.quartz.CronScheduleBuilder;import org.quartz.CronTrigger;import org.quartz.Job;import org.quartz.JobBuilder;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerFactory;import org.quartz.TriggerBuilder;import org.quartz.impl.StdSchedulerFactory;import com.thinkgem.jeesite.modules.sys.listener.job;public class QuartzLoad {private static Scheduler sched; public static void run() throws Exception { 
        System.out.println("定时任务启动");
        JobDetail jobDetail = JobBuilder.newJob((Class<? extends Job>) job.class)
                .withIdentity("myjob", "group1").build();CronTrigger trigger =(CronTrigger) TriggerBuilder.newTrigger()
                .withIdentity("trigger", "group1")
                .withSchedule(CronScheduleBuilder.cronSchedule("0 0 0 ? * *"))
                .build();
        SchedulerFactory sfact = new StdSchedulerFactory();
        Scheduler schedule = sfact.getScheduler();
        schedule.start();
        schedule.scheduleJob(jobDetail, trigger);
    }//停止  public static void stop() throws Exception{  
           sched.shutdown();  
     }  
}
登入後複製

 

Job中就是自己的業務處理

  job   execute(JobExecutionContext arg0) ==  SimpleDateFormat("yyyy-MM-dd HH:mm:ss""Time:"+"Hello"
登入後複製

三、web.xml監聽:

com.thinkgem.jeesite.modules.sys.listener.TimingTaskSchedule

<listener>
<listener-class>com.thinkgem.jeesite.modules.sys.listener.TimingTaskSchedule
</listener-class>
</listener>
登入後複製

以上是配置web.xml的實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在Java中使用Quartz實作定時任務? 如何在Java中使用Quartz實作定時任務? May 08, 2023 am 10:46 AM

Scheduler每次執行,都會根據JobDetail建立一個新的Job實例,這樣就可以規避並發存取的問題(jobDetail的實例也是新的)Quzrtz定時任務預設都是並發執行,不會等待上一次任務執行完畢,只要間隔時間到就會執行,如果定時任務執行太長,會長時間佔用資源,導致其它任務堵塞@DisallowConcurrentExecution:job類別上,禁止並發地執行同一個job定義(JobDetail定義的)的多個實例。 scheduler:可以理解為定時任務的工作容器或是工作場所,所有定

quartz設定檔詳解 quartz設定檔詳解 Jun 20, 2023 pm 04:11 PM

Quartz是一種優秀的Java開源調度框架。本文將為讀者詳細介紹Quartz的配置文件,並分享一些配置的最佳實踐。

如何使用Quartz實作Java高可用定時任務? 如何使用Quartz實作Java高可用定時任務? May 07, 2023 pm 12:55 PM

定時任務使用指南如果你想做定時任務,有高可用方面的需求,或者僅僅想入門快,上手簡單,那麼選用它準沒錯。定時任務模組是對Quartz框架進一步封裝,使用更加簡潔。 1、引入依賴xin.altitude.cmsucode-cms-quartz1.5.4.12、快速上手實作org.quartz.Job介面;使用註解CronExp新增任務的調度策略;使用註解Component將任務注入容器中。啟動項目,定時任務便處於監聽與運作中。 @Component@DisallowConcurrentExecution

web.xml SpringBoot打包可執行Jar運行SpringMVC的方法是什麼 web.xml SpringBoot打包可執行Jar運行SpringMVC的方法是什麼 May 17, 2023 pm 09:37 PM

部署到webapps目錄啟動本文所使用的Spring版本為Spring6,SpringBoot版本為3,JDK為17,可能會和之前有細微不同,但整體流程差不太大。如果部署應用到tomcatwebapps目錄下方啟動,則需要在專案中設定web.xml檔案web.xml檔案設定Spring應用上下文contextConfigLocation/WEB-INF/spring/application-context.xmlorg.springframework.web.context.ContextLoad

Servlet 容器揭秘:深入了解 Servlet 運行環境 Servlet 容器揭秘:深入了解 Servlet 運行環境 Feb 19, 2024 pm 01:00 PM

Servlet容器是提供Servlet運行環境的應用程序,它負責管理Servlet的生命週期、提供必要的WEB服務,如安全性、事務等。 Servlet容器有很多種,其中最常見的是Tomcat和Jetty。 Servlet容器主要功能生命週期管理:Servlet容器負責管理Servlet的生命週期,包括啟動、初始化、服務和銷毀。 Web服務:Servlet容器提供web服務,如安全性、交易等。資源管理:Servlet容器管理資源,如Servlet、jsP、html頁面等。類別載入:Servlet容器負責加

Java怎麼使用quartz實作定時任務 Java怎麼使用quartz實作定時任務 Apr 19, 2023 pm 11:49 PM

設定檔sue.spring.quartz.cron=*/5****?pomorg.springframework.bootspring-boot-starter-quartz定時任務與觸發器packagecom.luke.demo.schedule;importorg.quartz.*;importorg. springframework.beans.factory.annotation.Value;importorg.springframework.context.annotation.Bea

了解 Quartz 快取技術 了解 Quartz 快取技術 Jun 20, 2023 am 09:51 AM

隨著網路技術的快速發展,數據的處理速度成為了各行業和公司競爭的關鍵。在這個過程中,快取技術成為了提升資料處理速度的重要手段。而Quartz快取技術作為一種高效率的快取技術,已經被越來越多的企業所採用。本文將詳細介紹Quartz快取技術以及其使用方法和優缺點。一、什麼是Quartz快取技術? Quartz快取技術是一種基於記憶體的快取技術,它可以將

Java API 開發中使用 Quartz 進行定時任務處理 Java API 開發中使用 Quartz 進行定時任務處理 Jun 17, 2023 pm 11:58 PM

隨著網路應用的不斷增多,後台任務的處理變得越來越重要。在開發中,我們經常需要進行定時任務的處理,例如每天凌晨定時備份數據,定時發送郵件等等。而在Java開發中,使用Quartz函式庫可以幫助我們實現這樣的定時任務處理。 Quartz是一個開源的Java定時任務框架,它提供了一套簡單的API來實現定時任務。 Quartz的定時任務可以依照指定的時數

See all articles