quartz定时任务

步骤

  • 导入jar: quartz-2.2.1.jar,quartz-jobs-2.2.1.jar

  • 编写定时任务

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.quartz.QuartzJobBean;

/**
 * 清空点赞数据
 * @author SunHailong
 *  */
public class ClearLikesDayJob extends QuartzJobBean{

    private static Logger logger = LoggerFactory.getLogger(ClearLikesDayJob.class);

    @Autowired
    private LikesService likesService;

    /*
     * 任务每天晚上12点被触发
     */
    public void clearLikesEveryDay(){
        logger.info("delete likes data every day in 00:00");

        likesService.deleteLikesNumAll();
        likesService.deleteLikesStateAll();
    }


    @Override
    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
        likesService= (LikesService) context.getJobDetail()  
                    .getJobDataMap().get("likesService");  
        clearLikesEveryDay();
    }
}
  • springmvc-servlet.xml配置文件配置
    <bean id="clearLikesDayJob"
        class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
        <property name="jobClass" value="cn.service.ClearLikesDayJob"></property>
        <property name="durability" value="true" />
        <property name="jobDataAsMap"> 
            <map>          
              <entry key ="likesService" value-ref="likesServiceImpl"/> 
            </map>  
        </property>
    </bean>

    <bean id="clearlyJobCronTriggerBean"
        class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="clearLikesDayJob"></property>
        <property name="cronExpression" value="0 0 0 * * ?"></property>
    </bean>

    <bean id="trigger"
        class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="clearlyJobCronTriggerBean" />
            </list>
        </property>
    </bean>
  • 拓展
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分每分触发    

0 0/5 14 * * ?    每天下午的 2点到2点59分(整点开始,每隔5分触发)    

0 0/5 14,18 * * ?    每天下午的 2点到2点59分、18点到18点59分(整点开始,每隔5分触发)    

0 0-5 14 * * ?    每天下午的 2点到2点05分每分触发    

0 10,44 14 ? 3 WED    3月分每周三下午的 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    每月的第三周的星期五开始触发    

0 0 12 1/5 * ?    每月的第一个中午开始每隔5天触发一次    

0 11 11 11 11 ?    每年的11月11号 11点11分触发(光棍节)    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值