spring定時器及時間寫法

1.秒(0–59)  
2.分鐘(0–59)  
3.小時(0–23)  
4.月份中的日期(1–31)  
5.月份(1–12或JAN–DEC)  
6.星期中的日期(1–7或SUN–SAT)  
7.年份(1970–2099)  
          秒 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觸發   
"0 5 0 ? * MON" 每週一凌晨0點5分觸發
每天早上6點   
0 6 * * *   
每兩個小時   
0 */2 * * *   
晚上11點到早上7點之間每兩個小時,早上八點   
0 23-7/2,8 * * *   
每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點   
0 11 4 * 1-3   
1月1日早上4點   
0 4 1 1 *  



web.xml配置代碼

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

	<!-- 加載Spring容器配置 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<!-- 設置Spring容器加載所有的配置文件的路徑 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath*:config/spring-*.xml</param-value>
	</context-param>

	<!-- 配置SpringMVC核心控制器 -->
	<servlet>
		<servlet-name>springMVC</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!-- 配置初始配置化文件,前面contextConfigLocation看情況二選一 -->  
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath*:config/spring-mvc.xml,classpath*:config/springTimer.xml</param-value>
		</init-param>
		<!-- 啓動加載一次 -->  
		<load-on-startup>1</load-on-startup>
	</servlet>

	<!--爲DispatcherServlet建立映射 -->
	<servlet-mapping>
		<servlet-name>springMVC</servlet-name>
		<!-- 此處可以可以配置成*.do,對應struts的後綴習慣 -->
		<url-pattern>/</url-pattern>
	</servlet-mapping>

	<!-- 防止Spring內存溢出監聽器 -->
	<listener>
		<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
	</listener>

	<!-- 解決工程編碼過濾器 -->
	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

新建springTimer.xml文件 代碼如下

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
	http://www.springframework.org/schema/beans/spring-beans.xsd
	http://www.springframework.org/schema/context
	http://www.springframework.org/schema/context/spring-context-4.0.xsd
	http://www.springframework.org/schema/mvc
	http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
	
	
	
	<!-- 定時加載的目標類 -->
    <bean id="job1" class="com.qs.timer.FirstQuarzt" />
    <!-- 配置定時器詳情 -->
    <bean id="timeDitail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    	<property name="targetObject" ref="job1" />
    	<property name="targetMethod" value="doit" />
    </bean>
    <!-- 定義時間間隔觸發器 -->
    <bean id="timeTigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
    	<property name="jobDetail" ref="timeDitail" />
    	<property name="cronExpression" value="0 5 0 ? * MON" />
    </bean>
    <!-- 啓動定時器 -->
    <bean id="startJob" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    	<property name="triggers">
    		<list>
    			<ref bean="timeTigger" />
    		</list>
    	</property>
    </bean>

	
</beans>

java觸發目標類代碼


package com.qs.timer;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;

import javax.annotation.Resource;

import org.quartz.JobExecutionException;

import com.qs.service.BankService;

import weixin.util.TestWX;


public class FirstQuarzt<TaskOrRemind> {
	
	@Resource  
	private BankService bankservice;
	
    public void doit()throws JobExecutionException, ParseException{  
        System.setProperty("user.timezone","GMT+8");  
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(sdf.format(new Date()));
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章