zoukankan      html  css  js  c++  java
  • Quartz快速开发

    application-quartz.xml

    需要将本文件加载到IOC容器中

    <?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"
           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.xsd">
        <!--开启注解配置支持,否则在ClearImgJob不能使用@Autowired-->
        <context:component-scan base-package="com.xxx"></context:component-scan>
    
        <!-- 注册自定义Job -->
        <bean id="jobDemo" class="com.xxx.job.ClearImgJob"></bean>
        <!-- 注册JobDetail,作用是负责通过反射调用指定的Job -->
        <bean id="jobDetail"
              class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
            <!-- 注入目标对象 -->
            <property name="targetObject" ref="jobDemo"/>
            <!-- 注入目标方法 -->
            <property name="targetMethod" value="clearImg"/>
        </bean>
        <!-- 注册一个触发器,指定任务触发的时间 -->
        <bean id="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
            <!-- 注入JobDetail -->
            <property name="jobDetail" ref="jobDetail"/>
            <!-- 指定触发的时间,基于Cron表达式(0 0 2 * * ?表示凌晨2点执行) -->
            <!-- 指定触发的时间,基于Cron表达式(0 25 12 * * ?表示12点25分执行) -->
            <property name="cronExpression">
                <value>0 55 17 * * ?</value>
            </property>
        </bean>
        <!-- 注册一个统一的调度工厂,通过这个调度工厂调度任务 -->
        <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
            <!-- 注入多个触发器 -->
            <property name="triggers">
                <list>
                    <ref bean="myTrigger"/>
                </list>
            </property>
        </bean>
    </beans>
    

    java

    package com.xxx.job;
    
    import com.xxx.constant.RedisConstant;
    import com.xxx.utils.QiniuUtils;
    import org.springframework.beans.factory.annotation.Autowired;
    import redis.clients.jedis.JedisPool;
    
    import java.util.Iterator;
    import java.util.Set;
    
    public class ClearImgJob {
        @Autowired
        private JedisPool jedisPool;
        // 清理图片
        public void clearImg(){
            // 计算两个集合的差异
            Set<String> set = jedisPool.getResource().sdiff(RedisConstant.SETMEAL_PIC_RESOURCES, RedisConstant.SETMEAL_PIC_DB_RESOURCES);
            Iterator<String> iterator = set.iterator();
            while (iterator.hasNext()) {
                String img = iterator.next();
                System.out.println("删除图片的名称是:" + img);
                // 删除图片服务器中的多余图片
                QiniuUtils.deleteFileFromQiniu(img);
                // 删除redis中的数据
                jedisPool.getResource().srem(RedisConstant.SETMEAL_PIC_RESOURCES,img);
            }
        }
    }
    
    

    corn 表达式

    在线corn表达式生成器

  • 相关阅读:
    mybatis入门_一对多,多对多映射以及整合spring框架
    mybatis入门_配置文件的配置
    mybatis入门_mybatis基本原理以及入门程序
    BOM 3.1 location对象 | history对象 | navigator对象 | 定时器 | 三大系列
    Sublime Text Build 3207 x64 无法安装Package Control和插件
    无法启动此程序,因为计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll已解决
    测试
    ECMAScript1.4 对象 | 简单数据类型与复杂数据类型 | 内置对象 | 基本包装类型 | String
    ECMAScript1.3 数组 | 函数 | 作用域 | 预解析
    webAPI(DOM) 2.1 获取页面元素 | 事件1 | 属性操作 | 节点 | 创建元素 | 事件2
  • 原文地址:https://www.cnblogs.com/tianwenxin/p/15021646.html
Copyright © 2011-2022 走看看