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

      @EnableScheduling开启定时任务

    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @Import(SchedulingConfiguration.class)
    @Documented
    public @interface EnableScheduling {
    
    }
    

      @Scheduled(cron = "0 0 */1 * * ?")配置执行方法及定时规则

    @Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Repeatable(Schedules.class)
    public @interface Scheduled {
    
    	/**
    	 * A special cron expression value that indicates a disabled trigger: {@value}.
    	 * <p>This is primarily meant for use with ${...} placeholders, allowing for
    	 * external disabling of corresponding scheduled methods.
    	 * @since 5.1
    	 */
    	String CRON_DISABLED = "-";
    
    
    	/**
    	 * A cron-like expression, extending the usual UN*X definition to include triggers
    	 * on the second as well as minute, hour, day of month, month and day of week.
    	 * <p>E.g. {@code "0 * * * * MON-FRI"} means once per minute on weekdays
    	 * (at the top of the minute - the 0th second).
    	 * <p>The special value {@link #CRON_DISABLED "-"} indicates a disabled cron trigger,
    	 * primarily meant for externally specified values resolved by a ${...} placeholder.
    	 * @return an expression that can be parsed to a cron schedule
    	 * @see org.springframework.scheduling.support.CronSequenceGenerator
    	 */
    	String cron() default "";
    
    	/**
    	 * A time zone for which the cron expression will be resolved. By default, this
    	 * attribute is the empty String (i.e. the server's local time zone will be used).
    	 * @return a zone id accepted by {@link java.util.TimeZone#getTimeZone(String)},
    	 * or an empty String to indicate the server's default time zone
    	 * @since 4.0
    	 * @see org.springframework.scheduling.support.CronTrigger#CronTrigger(String, java.util.TimeZone)
    	 * @see java.util.TimeZone
    	 */
    	String zone() default "";
    
    	/**
    	 * Execute the annotated method with a fixed period in milliseconds between the
    	 * end of the last invocation and the start of the next.
    	 * @return the delay in milliseconds
    	 */
    	long fixedDelay() default -1;
    
    	/**
    	 * Execute the annotated method with a fixed period in milliseconds between the
    	 * end of the last invocation and the start of the next.
    	 * @return the delay in milliseconds as a String value, e.g. a placeholder
    	 * or a {@link java.time.Duration#parse java.time.Duration} compliant value
    	 * @since 3.2.2
    	 */
    	String fixedDelayString() default "";
    
    	/**
    	 * Execute the annotated method with a fixed period in milliseconds between
    	 * invocations.
    	 * @return the period in milliseconds
    	 */
    	long fixedRate() default -1;
    
    	/**
    	 * Execute the annotated method with a fixed period in milliseconds between
    	 * invocations.
    	 * @return the period in milliseconds as a String value, e.g. a placeholder
    	 * or a {@link java.time.Duration#parse java.time.Duration} compliant value
    	 * @since 3.2.2
    	 */
    	String fixedRateString() default "";
    
    	/**
    	 * Number of milliseconds to delay before the first execution of a
    	 * {@link #fixedRate()} or {@link #fixedDelay()} task.
    	 * @return the initial delay in milliseconds
    	 * @since 3.2
    	 */
    	long initialDelay() default -1;
    
    	/**
    	 * Number of milliseconds to delay before the first execution of a
    	 * {@link #fixedRate()} or {@link #fixedDelay()} task.
    	 * @return the initial delay in milliseconds as a String value, e.g. a placeholder
    	 * or a {@link java.time.Duration#parse java.time.Duration} compliant value
    	 * @since 3.2.2
    	 */
    	String initialDelayString() default "";
    
    }
    

    执行规则:

    https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scheduling/support/CronSequenceGenerator.html

    详细文档见:https://spring.io/guides/gs/scheduling-tasks/

    此定时任务无法做到负载均衡,因此使用时需根据实际情况选择

  • 相关阅读:
    POJ--1797 Heavy Transportation (最短路)
    Luogu--3381 【模板】最小费用最大流
    51Nod--1295 XOR key (可持久化tire树)
    HDU--5269 ZYB loves Xor I (字典树)
    [Windows Server 2008] ASP.net安装方法
    [Windows Server 2008] 安装IIS7.5及FTP
    [Windows Server 2012] Tomcat安装方法
    [Windows Server 2012] Filezilla安装方法
    [Windows Server 2012] 安装护卫神·主机管理系统
    [Windows Server 2012] 安装SQL Server 2012
  • 原文地址:https://www.cnblogs.com/longc-pub/p/11121760.html
Copyright © 2011-2022 走看看