• 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("自动采集进程启动...");
      
     }
     
    }


  • 相关阅读:
    2-5 Flutter开发环境与Android开发环境设置详解(Windows)
    2-3 Flutter开发环境与iOS开发环境设置(Mac)
    2-1 本章作业&2-2 开发系统与工具选择
    ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置
    ASP.NET Core会议管理平台实战_3、认证、授权表迁移
    29.镜像容器与仓库
    27.集成EFCore配置Client和API
    26.OpenIdConnect获取用户信息的两种方式
    25.ProfileService实现(调试)
    24.集成ASP.NETCore Identity
  • 原文地址:https://www.cnblogs.com/yesun/p/1130685.html
Copyright © 2020-2023  润新知