配置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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

部署到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的生命週期、提供必要的WEB服務,如安全性、事務等。 Servlet容器有很多種,其中最常見的是Tomcat和Jetty。 Servlet容器主要功能生命週期管理:Servlet容器負責管理Servlet的生命週期,包括啟動、初始化、服務和銷毀。 Web服務:Servlet容器提供web服務,如安全性、交易等。資源管理:Servlet容器管理資源,如Servlet、jsP、html頁面等。類別載入:Servlet容器負責加

設定檔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快取技術以及其使用方法和優缺點。一、什麼是Quartz快取技術? Quartz快取技術是一種基於記憶體的快取技術,它可以將

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