Java SpringMVC 定时任务

 需要购买阿里云产品和服务的,点击此链接领取优惠券红包,优惠购买哦,领取后一个月内有效: https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=fp9ccf07

1、web.xml

 

2、spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:p="http://www.springframework.org/schema/p" 
    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"
    xmlns:task="http://www.springframework.org/schema/task"
    xsi:schemaLocation="  
    http://www.springframework.org/schema/beans  
    http://www.springframework.org/schema/beans/spring-beans-3.2.xsd  
    http://www.springframework.org/schema/context  
    http://www.springframework.org/schema/context/spring-context-3.2.xsd
    http://www.springframework.org/schema/mvc  
    http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
    http://www.springframework.org/schema/task
    http://www.springframework.org/schema/task/spring-task-3.2.xsd">

    <!-- 扫描controller(controller层注入) -->
    <context:component-scan base-package="com.lin.controller" />

    <!-- 对模型视图添加前后缀 -->
    <!-- <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
        p:prefix="/WEB-INF/view/" p:suffix=".jsp"/> -->

    <!-- 上传文件 -->
    <!-- <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
        最大上传尺寸 5M
        <property name="maxUploadSize" value="5242880"/> 
    </bean> -->

    <!-- 定义受环境影响易变的变量 -->
    <bean
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
        <property name="ignoreResourceNotFound" value="true" />
        <property name="fileEncoding" value="utf-8" />
        <property name="locations">
            <list>
                <!-- 标准配置 -->
                <value>
                    classpath*:/properties/config.properties
                </value>
            </list>
        </property>
    </bean>
    
    <!-- 增加定时任务插件 -->
    <context:annotation-config></context:annotation-config>
    <!-- spring 扫描注解配置 -->
    <context:component-scan base-package="com.lin.quartz"></context:component-scan>
    <!-- 开启这个配置 spring才能识别@Scheduled注解 -->
    <task:annotation-driven scheduler="qbScheduler" mode="proxy"/>
    <task:scheduler id="qbScheduler" pool-size="10"/>
</beans>

 

3、QuartzTask.java

package com.lin.quartz;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import com.lin.service.SysUserService;

@Component("taskJob")
public class QuartzTask {
    
    @Autowired
    private SysUserService uService;

    /**
     * CRON表达式                含义 
    "0 0 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分每分钟一次触发 
    "0 0/5 14 * * ?"        每天从下午2点开始到2:55分结束每5分钟一次触发 
    "0 0/5 14,18 * * ?"        每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发 
    "0 0-5 14 * * ?"        每天14:00至14:05每分钟一次触发 
    "0 10,44 14 ? 3 WED"    三月的每周三的14:10和14:44触发 
    "0 15 10 ? * MON-FRI"   每个周一、周二、周三、周四、周五的10:15触发
     */
    
    /**
     * 每天5点触发(清空验证码表t_captcha中的数据)
     */
    @Scheduled(cron = "0 0 5 * * ?")
    public void testTask(){
        System.out.println(System.currentTimeMillis());
        Integer count = uService.clearCaptcha();
    }
}

 

需要购买阿里云产品的,可以点击此链接领取红包,优惠购买哦: https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=fp9ccf07

posted @ 2017-12-14 10:48  web喵神  阅读(11219)  评论(0编辑  收藏  举报