zoukankan      html  css  js  c++  java
  • spring执行定时任务

    TimeTask方式

    <bean id="autoSpiderBackGroundThread" class="AutoSpiderBackGroundThread"/>
    <bean id="scheduledTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">
    <property name="timerTask">
    <ref bean="autoSpiderBackGroundThread"/>
    </property>
    <!-- 任务执行周期 2m 关于一些任务的参数请参考JDK doc文档和Spring相关文档-->
    <property name="period">
    <value>60000</value>
    </property>
    <!-- 延时1m 执行任务 -->
    <property name="delay">
    <value>1000</value>
    </property>
    </bean>
    <!-- 启动定时器 -->
    <bean id="timerBean" class="org.springframework.scheduling.timer.TimerFactoryBean">
    <property name="scheduledTimerTasks">
    <list>
    <ref bean="scheduledTask"/>
    </list>
    </property>
    </bean>



    import java.util.TimerTask;
    import org.apache.log4j.Logger;

    public class AutoSpiderBackGroundThread extends TimerTask{
     
     protected Logger log = Logger.getLogger(AutoSpiderBackGroundThread.class);
     public static int i = 0;
     public AutoSpiderBackGroundThread()
     {
     }
     
     @Override
     public void run()
     {
      log.debug("第"+i+"次请求...");
      i++;
     }
    }



    Quartz方式

    <!-- 配置 -->
     <bean name="randomPriceJob" class="org.springframework.scheduling.quartz.JobDetailBean">
     
      <property name="jobClass">
       <value>AutoSpiderBackGroundThread</value>
      </property>
     
      <property name="jobDataAsMap">
       <map>
        <entry key="timeout"><value>5</value></entry>
       </map>
      </property>
     
     </bean>
     <!-- 配置触发器 -->
     <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
     
      <property name="jobDetail">
       <ref bean="randomPriceJob"/>
      </property>
      <!-- 每天的11点到11点59分中,每分钟触发RandomPriceJob,具体说明见附录 -->
      <property name="cronExpression">
       <value>0 * 11 * * ?</value>
      </property>
     </bean>

     <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

      <!-- 添加触发器 -->
      <property name="triggers">
       <list>
        <ref local="cronTrigger"/>
       </list>
      </property>
     </bean>


    import org.apache.log4j.Logger;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    import org.springframework.scheduling.quartz.QuartzJobBean;

    public class AutoSpiderBackGroundThread extends QuartzJobBean{
     
     protected Logger log = Logger.getLogger(AutoSpiderBackGroundThread.class);
     public static int i = 0;
     private int timeout;
     public AutoSpiderBackGroundThread()
     {
     }
     public void setTimeout( int timeout )
     {
       this.timeout = timeout;
     }
     
     @Override
     protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {
      log.debug("自动采集进程启动...");
      
     }
     
    }


    import org.apache.log4j.Logger;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    import org.springframework.scheduling.quartz.QuartzJobBean;

    public class AutoSpiderBackGroundThread extends QuartzJobBean{
     
     protected Logger log = Logger.getLogger(AutoSpiderBackGroundThread.class);
     public static int i = 0;
     private int timeout;
     public AutoSpiderBackGroundThread()
     {
     }
     public void setTimeout( int timeout )
     {
       this.timeout = timeout;
     }
     
     @Override
     protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {
      log.debug("自动采集进程启动...");
      
     }
     
    }


  • 相关阅读:
    iOS-申请开发证书流程
    iOS-代理
    进程和线程
    iOS单例模式
    Switch语句
    枚举类型
    程序的三种结构
    运算符
    Swift项目开发中的一些必备数据
    Swift开发中常用的一些图片处理方法
  • 原文地址:https://www.cnblogs.com/yesun/p/1130685.html
Copyright © 2011-2022 走看看