shangyunlin

定时器Quartz

  • xml中的配置
    <context:annotation-config></context:annotation-config>
    <bean id="clearImgJob" class="com.ssw.jobs.ClearImgJob"></bean>
    <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <!-- 注入目标对象 -->
    <property name="targetObject" ref="clearImgJob"/>
    <!-- 注入目标方法 -->
    <property name="targetMethod" value="clearImg"/>
    </bean>
    <!-- 注册一个触发器,指定任务触发的时间 -->
    <bean id="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <!-- 注入JobDetail -->
    <property name="jobDetail" ref="jobDetail"/>
    <!-- 指定触发的时间,基于Cron表达式 -->
    <property name="cronExpression">
    <value>0/10 * * * * ?</value>
    </property>
    </bean>
    <!-- 注册一个统一的调度工厂,通过这个调度工厂调度任务 -->
    <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <!-- 注入多个触发器 -->
    <property name="triggers">
    <list><ref bean="myTrigger"/> </list>
    </property>
    </bean>
  • java代码
    • public class ClearImgJob {

      @Autowired
      JedisPool jedisPool;
      public void clearImg() {
      Set<String> sdiffstore = jedisPool.getResource().sdiff(RedisConstant.SETMEAL_PIC_RESOURCES, RedisConstant.SETMEAL_PIC_DB_RESOURCES);
      if (sdiffstore != null) {
      for (String s : sdiffstore) {
      QiniuUtils.deleteFileFromQiniu(s);
      jedisPool.getResource().srem(RedisConstant.SETMEAL_PIC_RESOURCES, s);
      System.out.println(s);
      }
      }
      }
      }
    • core表达式
    • 分类:

      技术点:

      相关文章: