1. 程式人生 > >Maven 下的spring框架(4定時器quartz)

Maven 下的spring框架(4定時器quartz)

清明放假三天,沒有時間寫部落格,今天把定時器quartz的使用方法貼出來。通過前三篇的文章,大家的框架都是可以執行的了,那麼下面開始配置quartz。

首先,先把jar包導進來

<!-- 任務排程器 -->
		<dependency>
			<groupId>org.quartz-scheduler</groupId>
			<artifactId>quartz</artifactId>
			<version>2.2.2</version>
		</dependency>
然後在applicationContext裡面配置
<!-- 工作管理員 -->
	<beans>
		<!-- 要呼叫的工作類 -->
		<bean id="quartzJob" class="com.demo.ssy.quartz.Test"></bean>
		<!-- 定義呼叫物件和呼叫物件的方法 -->
		<bean id="jobtask"
			class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
			<!-- 呼叫的類 -->
			<property name="targetObject">
				<ref bean="quartzJob" />
			</property>
			<!-- 呼叫類中的方法 -->
			<property name="targetMethod">
				<value>start</value>
			</property>
		</bean>
		<!-- 定義觸發時間 -->
		<bean id="doTime"
			class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
			<property name="jobDetail">
				<ref bean="jobtask" />
			</property>
			<!-- cron表示式 -->
			<property name="cronExpression">
				<value>*/5 * * * * ?</value>
			</property>
		</bean>
		<!-- 定義呼叫物件和呼叫物件的方法 多個任務定義多個-->
		<bean id="jobtask2"
			class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
			<!-- 呼叫的類 -->
			<property name="targetObject">
				<ref bean="quartzJob" />
			</property>
			<!-- 呼叫類中的方法 -->
			<property name="targetMethod">
				<value>stop</value>
			</property>
		</bean>
		<!-- 定義觸發時間 -->
		<bean id="doTime2"
			class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
			<property name="jobDetail">
				<ref bean="jobtask2" />
			</property>
			<!-- cron表示式 -->
			<property name="cronExpression">
				<value>*/10 * * * * ?</value>
			</property>
		</bean>
		<!-- 總管理類 如果將lazy-init='false'那麼容器啟動就會執行排程程式 -->
		<bean id="startQuertz" lazy-init="false" autowire="no"
			class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
			<property name="triggers">
				<list>
					<ref bean="doTime" />
					<ref bean="doTime2"/>
				</list>
			</property>
		</bean>

	</beans>

其中cron表示式含義及範例如下:

  欄位名                 允許的值                        允許的特殊字元  

               秒                         0-59                               , - * /  

               分                         0-59                               , - * /  

               小時                   0-23                               , - * /  

               日                         1-31                               , - * ? / L W C  

               月                         1-12 or JAN-DEC          , - * /  

               周幾                     1-7 or SUN-SAT            , - * ? / L C #  

               年 (可選欄位)     empty, 1970-2099      , - * /

               “?”字元:表示不確定的值

               “,”字元:指定數個值

               “-”字元:指定一個值的範圍

               “/”字元:指定一個值的增加幅度。n/m表示從n開始,每次增加m

               “L”字元:用在日表示一個月中的最後一天,用在周表示該月最後一個星期X

               “W”字元:指定離給定日期最近的工作日(週一到週五)

               “#”字元:表示該月第幾個周X。6#3表示該月第3個週五

         2)Cron表示式範例:

                 每隔5秒執行一次:*/5 * * * * ?

                 每隔1分鐘執行一次:0 */1 * * * ?

                 每天23點執行一次:0 0 23 * * ?

                 每天凌晨1點執行一次:0 0 1 * * ?

                 每月1號凌晨1點執行一次:0 0 1 1 * ?

                 每月最後一天23點執行一次:0 0 23 L * ?

                 每週星期天凌晨1點實行一次:0 0 1 ? * L

                 在26分、29分、33分執行一次:0 26,29,33 * * * ?

                 每天的0點、13點、18點、21點都執行一次:0 0 0,13,18,21 * * ?

任務類

package com.demo.ssy.quartz;

public class Test {

	public void start(){
		System.out.println("start");
	}
	
	public void stop(){
		System.out.println("end");
	}
	
}

啟動專案之後start 每五秒鐘列印一次,stop每十秒鐘列印一次。

測試了一下,你會看到每一個方法都同步執行了兩次,經過觀察發現是因為在web.xml裡面載入了兩邊applicationContext,然後我就把,spring-mybatis相關的抽取到一起,更改了web.xml裡面的載入項。就可以了。

相關推薦

Maven spring框架4定時quartz

清明放假三天,沒有時間寫部落格,今天把定時器quartz的使用方法貼出來。通過前三篇的文章,大家的框架都是可以執行的了,那麼下面開始配置quartz。 首先,先把jar包導進來 <!-- 任務排程器 --> <dependency> &l

2011年11月22日——maven管理spring框架重發

#修改時打開了兩個網頁編輯,提交時出了衝突導致部落格一直處於【待稽核】狀態,故重發# #在之前的工程之上,我們加入maven工具管理# 1.使用maven後就可以不用手動導包了,新增依賴maven會自動下載到本地倉庫 2.pom.xml是自動生成的,也可以

Spring框架JavaEE開發進階Ⅲ—在Spring中整合Hibernate

一、主要內容1、Hibernate概覽2、宣告Hibernate的Session工廠3、構建不依賴於Spring的Hibernate程式碼二、前言1、應用程式越複雜,對持久化需求隨之要求更高1)延遲載入(lazy loading)2)預先抓取(Eager fetching)3

Spring基礎:快速入門spring cloud4:API閘道之Zuul

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

spring 整合mybatis——多資料來源切換附帶定時的配置,儲存過程連線,資料多於50條,分批進行操作

新建com.millery.utils包在其下新建DataSourceContextHolder類 package com.millery.utils; public class DataSourceContextHolder { private

一、使用IDEA,利用maven整合ssm框架spring+springmvc+mybatis+mysql

1.工具 apache-tomcat 7 apache-maven(後面詳細講!這東西我一開始也很懵逼) mysql 5以上的版本 navicat(有了這個就不用cmd了,可以直接顯示資料庫,如下圖,請自行百度綠色版QAQ) 2.前言 前不久學完

Orleans 2.0官方文件閆輝的個人翻譯——4.4 定時和提醒(Reminder)

定時器和提醒器(Reminder) Orleans執行時提供了兩種機制,稱為定時器和提醒器,使開發人員能夠指定grain的週期性行為。 計時器 定時器說明 定時器用於建立不需要跨越多個啟用(grain的例項化)的週期性的grain的行為。它基本上等同於標準的.NET System.T

從零開始,搭建部落格系統MVC5+EF6搭建框架4,前後檯布局實現、釋出部落格以及展示。

1 @{ 2 string url = Request.Url.ToString().ToLower(); 3 } 4 @if (url.Contains("home")) 5 { 6 <aside class="col-sm-3 col-m

從IO 到框架4-Servlet + JDBC (Idea Maven)

動態Web 應用的基礎程式碼。關於IDE:最開始入門用Eclipse,但一用Idea 就立刻棄了Eclipse。Idea 相比來說更加智慧,除了佔記憶體多點以外,用Idea 體驗超好,遠超Eclipse。關於Maven:學Maven 之前做專案都需要導Jar 包,比較麻煩而且

Spring通過註解使用定時已經驗證

先需要在springMVC的配置檔案中,配置定時器的掃描註解 ? 1 2 <!-- 定時器開關 開始--> <task:annotation-driven /> 定時器的實現程式碼 ? 1 2 3 4

Maven整合SSM框架maven+spring+springmvc+mybatis

啊哈,終於到了用Maven整合SSM這個撲街含家產了。弄了整整一天才跑通。Mybatis的配置有些繁瑣,跟之前學習的那個有點出去,加上Eclipse的Spring工具沒有弄,配置的時候沒有提示被搞蒙圈了。不過萬幸,最終還是憑藉我高超的只會完成了!!哈哈哈 專案

WinForm中,每隔一段時間(參數)調用一次函數使用定時

pre tick break switch 時間 器) chan pri args 1      System.Windows.Forms.Timer setTimer; //定義一個定時器 2 int flg = 0;

Spring框架

原因 getmethod 意思 myba model 找我 except 類型 程序代碼 Spring:   Spring是一個開源框架,Spring是於2003 年興起的一個輕量級的Java 開發框架,由 Rod Johnson在其著作 Expert One-On-On

spring框架

面向 int 動態代理 實現 訪問修飾符 spring pat 應用 tco Spring的bean管理(註解)   1、代碼裏面特殊標記,使用註解可以完成相應功能   2、註解寫法@註解名稱(屬性名稱=屬性值)   3、類,方法,屬性(註解使用) spring註解開

spring框架

方法 業務邏輯層 方式 spa 調用 aso ctrl oot ring 基於aspectj的註解aop(會用)   使用註解方式實現aop操作     第一步 創建對象     第二步 在spring核心配置文件,開啟aop操作         aop

DisplayPageBoundaries 打開word後自動將頁面間空白隱藏 auto+定時

win strong als when clas auto 定時 今天 自動 每次打開文檔都要鼠標點擊頁面間空白處,將其隱藏 嘗試過在 AutoOpen, AutoExec等宏中添加 ActiveWindow.View.DisplayPageBoundaries = Fal

Spring框架AOP面向切面編程

維護 ng- mem 需要 函數 cti oop classpath 實現 一.前言 在以前的項目中,很少去關註spring aop的具體實現與理論,只是簡單了解了一下什麽是aop具體怎麽用,看到了一篇博文寫得還不錯,就轉載來學習一下,博文地址:http://w

我的第一個python web開發框架4——數據庫結構設計與創建

數據結構 描述 分析器 設置 一個 由於 logs 記錄 開發框架   小白做好前端html設計後,馬上開始進入數據庫結構設計步驟。      在開始之前,小白回憶了一下老大在公司裏培訓時講過的數據庫設計解說:   對於初學者來說,很多拿到原型時不知道怎麽設計數據表結

Django中使用bookstarp框架4

取出 閱讀 manage http get png con 下載 join Django中使用bookstarp框架(4) 註意:要使用bookstarp框架前,要先有css的基礎 因為主要是研究後臺的使用方法,就引入前端的框架,簡化html上的耗時(主要是不想把時間浪費在

轉:一句話概括spring框架spring cloud框架主要組件

其它 訪問控制 動態類型 應用程序框架 延遲 obi trac 分布式系統 java技術 作為java的屌絲,基本上跟上spring屌絲的步伐,也就跟上了主流技術。 spring 頂級項目:Spring IO platform:用於系統部署,是可集成的,構建現代化應用的版本