JAVA Maven專案如何實現定時任務!
<properties>
<java.version>7</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<slf4j.version>1.7.5</slf4j.version>
<spring.version>3.2.13.RELEASE</spring.version>
<springframework.version >3.0.5.RELEASE</springframework.version>
</properties>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework-version}</version>
<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
</exclusion >
<exclusion>
<groupId>commons-digester</groupId>
<artifactId>commons-digester</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>1.8.5</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!-- AspectJ -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
2.在自己的web.xml檔案中引入監聽器
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/dispatcher-servlet.xml</param-value>
</init-param>
- 1
- 2
- 3
- 4
3建立定時任務的操作函式
package com.anran.webdesign.utils;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class ExpireJobTask {
public void doBiz() throws IOException
{
System.out.println("執行時間是:"+new Date());
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
4.在監聽器指定的xml檔案中引入定時任務
<!-- 執行緒執行器配置,用於任務註冊 -->
<bean id="executor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<property name="corePoolSize" value="10" />
<property name="maxPoolSize" value="100" />
<property name="queueCapacity" value="500" />
</bean>
<!-- 業務物件 -->
<!-- ExpireJobTask是類名,doBiz是執行的實際方法 -->
<bean id="bizObject" class="com.anran.webdesign.utils.ExpireJobTask" />
<!-- 排程業務 -->
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="bizObject" />
<property name="targetMethod" value="doBiz" />
</bean>
!-- 定時時間,此處為30分鐘執行一次-->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobDetail" />
<property name="cronExpression" value="0 0/30 * * * ?" />
</bean>
<bean id="taskTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="jobDetail" />
<property name="startDelay" value="10000" />
<property name="repeatInterval" value="60000" />
</bean>
<!-- 設定排程 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger" />
</list>
</property>
<property name="taskExecutor" ref="executor" />
</bean>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
附件:定時時間的格式(cronExpression表示式)
欄位 允許值 允許的特殊字元
秒 0-59 , – * /
分 0-59 , – * /
小時 0-23 , – * /
日期 1-31 , – * ? / L W C
月份 1-12 或者 JAN-DEC , – * /
星期 1-7 或者 SUN-SAT , – * ? / L C #
年(可選) 留空, 1970-2099 , – * /
表示式意義
"0 0 12 * * ?" 每天中午12點觸發
"0 15 10 ? * *" 每天上午10:15觸發
"0 15 10 * * ?" 每天上午10:15觸發
"0 15 10 * * ? *" 每天上午10:15觸發
"0 15 10 * * ? 2005" 2005年的每天上午10:15觸發
"0 * 14 * * ?" 在每天下午2點到下午2:59期間的每1分鐘觸發
"0 0/5 14 * * ?" 在每天下午2點到下午2:55期間的每5分鐘觸發
"0 0/5 14,18 * * ?" 在每天下午2點到2:55期間和下午6點到6:55期間的每5分鐘觸發
"0 0-5 14 * * ?" 在每天下午2點到下午2:05期間的每1分鐘觸發
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44觸發
"0 15 10 ? * MON-FRI" 週一至週五的上午10:15觸發
"0 15 10 15 * ?" 每月15日上午10:15觸發
"0 15 10 L * ?" 每月最後一日的上午10:15觸發
"0 15 10 ? * 6L" 每月的最後一個星期五上午10:15觸發
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最後一個星期五上午10:15觸發
"0 15 10 ? * 6#3" 每月的第三個星期五上午10:15觸發
每天早上6點
0 6 * * *
每兩個小時
0 */2 * * *
晚上11點到早上8點之間每兩個小時,早上八點
0 23-7/2,8 * * *
每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點
0 11 4 * 1-3
1月1日早上4點
0 4 1 1 *
相關推薦
JAVA Maven專案如何實現定時任務!
<properties> <java.version>7</java.version> <project.build.sourc
不用任何框架,Java 就能實現定時任務的 3 種方法!
是的,不用任何框架,用我們樸素的 Java 程式語言就能實現定時任務。 今天,棧長就介紹 3 種實現方法,教你如何使用 JDK 實現定時任務! ## 1、 sleep 這也是我們最常用的 sleep 休眠大法,不只是當作休眠用,我們還可以利用它很輕鬆的能實現一個簡單的定時任務。 **實現邏輯:**
Java ssm專案設定定時任務,每天定點執行
1,首先在配置檔案中定義標籤對映class檔案: <bean id="WorkorderScanTask" class="com.tdmh.modules.workorder.utils.WorkorderScanTask" /> <task:
JAVA Maven專案如何實現定時任務
1在pom.xml檔案中加入如下資訊,引入對應的jar包。 <properties> <java.version>7</java.version> <project.build.so
在Java web專案springMVC框架中實現定時任務
在工作中遇到一個需求,需要定時自動執行某項功能,這就需要用到定時任務了。首先先來理一下實現思路,定時任務可以用Java.util中的timer類,把需要定時執行的任務封裝到timer類的排程表中,這個timer物件需要在程式初始化時建立,這樣才可以讓它自動執行。那麼我們就可以想到需要借用
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
Java定時任務:利用java Timer類實現定時執行任務的功能
lpad 虛擬 觀察 exce 就是 set ring 構造 trac 一、概述 在java中實現定時執行任務的功能,主要用到兩個類,Timer和TimerTask類。其中Timer是用來在一個後臺線程按指定的計劃來執行指定的任務。 TimerTask一個抽象類,它的子類代
Spring整合Quartz框架實現定時任務跑批(Maven完整版)
觸發器 delay cut www 方法 lin job 定時任務 任務調度 Quartz 介紹Quartz is a full-featured, open source job scheduling service that can be integrated with
java的三種實現定時任務的方法
/** * 普通thread * 這是最常見的,建立一個thread,然後讓它在while迴圈裡一直執行著, * 通過sleep方法來達到定時任務的效果。這
java+Quartz實現定時任務
1、首先:匯入quartz相關的jar包,這裡我用的是maven構建的專案,pom.xml檔案匯入如下: <dependency> <groupId>org.quartz-scheduler</groupId> <artifactI
java spring-quartz定時器實現定時任務
Quartz是一個大名鼎鼎的Java版開源定時排程器,功能強悍,使用方便,下面我們看看如何使用它 一、核心概念 Quartz的原理不是很複雜,只要搞明白幾個概念,然後知道如何去啟動和關閉一個排程程式即可。 1、Job 表示一個工作,要執行的具體內容。此介面中只有一個方法 vo
Java Maven專案:spring boot + Mybatis連線MySQL,通用mapper的增刪改查,對映實現多表查詢
1. MySQL自帶庫test新增表user、role 角色表role 使用者表user 2. 新增依賴,配置屬性 相關依賴:百度即可,此處略 application.properties spring.application.name=clean-exe
javaweb專案啟動定時任務的實現
javaweb專案中,有時需要專案啟動時開啟一個執行緒,定時完成任務。 一下即為該功能實現方式。 首先在web.xml中指定專案啟動時開始一個執行緒。 1. <servlet> <servlet-name>MatchMyServlet</servlet-nam
使用使用maven專案實現Java安全框架Shiro的內建Realm:IniRealm進行登陸許可權驗證
1.我們先建一個maven專案,如圖: 2.在pom.xml中新增如下依賴: <dependencies> <dependency> <groupId>org.apache.shiro</groupId>
java實現定時任務的三種方法
/** * 普通thread * 這是最常見的,建立一個thread,然後讓它在while迴圈裡一直執行著, * 通過sleep方法來達到定時任務的效果。這樣可以快速簡單的實現,程式碼如下: * @author GT * */ public class Task
Java Web實現定時任務quartz方式
<servlet> <servlet-name>QuartzInitializer</servlet-name> <servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet<
java實現定時任務的幾種常用方法
/** * 普通thread * 這是最常見的,建立一個thread,然後讓它在while迴圈裡一直執行著, * 通過sleep方法來達到定時任務的效果。這樣可以快速簡單的實現,程式碼如下: * @author TGY * */ public class Task
java實現定時任務(Quartz)
java中實現定時任務執行某一業務。具體操作如下: 1、定義初始化任務 2、任務業務操作 3、定義初始化方法 4、在web.xml中註冊啟動 5、定義具體執行時間 6、q
基於 abp vNext 和 .NET Core 開發部落格專案 - 整合Hangfire實現定時任務處理
上一篇文章(https://www.cnblogs.com/meowv/p/12956696.html)成功使用了Redis快取資料,大大提高部落格的響應效能。 接下來,將完成一個任務排程中心,關於定時任務有多種處理方式,如果你的需求比較簡單,比如就是單純的過多少時間迴圈執行某個操作,可以直接使用.net