All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jquicker.annotation.timer.Scheduled Maven / Gradle / Ivy

There is a newer version: 1.1.0
Show newest version
package com.jquicker.annotation.timer;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Scheduled注解必须在@Task类中才会生效
 *
 * @author OL
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Scheduled {

	/**
	 * 任务名称
	 * @return
	 */
	String name() default "";
	
	/**
	 * 执行周期(秒)
	 * @return
	 */
	long period() default 0;
	
	/**
	 * cron表达式
	 * @return
	 */
	String cron() default "";

	/**
	 * 是否允许同一个任务并发执行
	 * @return
	 */
	boolean concurrent() default true;
	
	/**
	 * 执行策略
* atFixedRate: 以上一个任务结束时开始计时,period时间过去后,立即执行
* withFixedDelay: 以上一个任务开始的时间计时,period时间过去后,立即执行 * @return */ Policy policy() default Policy.atFixedRate; /** * 第一次执行的时间
* [yyyy-MM-dd] HH:mm:ss
* 若为空则在每次初始化后立即执行第一次 * @return */ String first() default ""; /** * 最后一次执行时间,超过该时间后不再执行
* yyyy-MM-dd HH:mm:ss * @return */ String last() default ""; /** * 执行次数
* 达到指定次数后不再执行
* 若limit小于等于0将不限次数 * @return */ long limit() default -1; /** * 任务描述 * @return */ String description() default ""; /** * 是否启用 * @return * @author OL */ boolean enable() default true; public enum Policy { atFixedRate,withFixedDelay } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy