- java.lang.Object
-
- org.redkale.scheduled.spi.ScheduleManagerService
-
- 所有已实现的接口:
ScheduledManager,Service
@Local @Component @AutoLoad(false) @ResourceType(ScheduledManager.class) public class ScheduleManagerService extends Object implements ScheduledManager, Service
定时任务管理器详情见: https://redkale.org
- 从以下版本开始:
- 2.8.0
- 作者:
- zhangjx
-
-
嵌套类概要
嵌套类 修饰符和类型 类 说明 protected classScheduleManagerService.CronTaskprotected classScheduleManagerService.FixedTaskprotected classScheduleManagerService.ScheduledTask
-
字段概要
字段 修饰符和类型 字段 说明 protected Applicationapplicationprotected AnyValueconfigprotected booleanenabledprotected ReentrantLocklockprotected Loggerloggerprotected ConcurrentHashMap<WeakReference,List<ScheduleManagerService.ScheduledTask>>refTaskMap
-
构造器概要
构造器 限定符 构造器 说明 protectedScheduleManagerService(UnaryOperator<String> propertyFunc)
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 static ScheduleManagerServicecreate(UnaryOperator<String> propertyFunc)protected ScheduleManagerService.ScheduledTaskcreatedOnlyNameTask(WeakReference ref, Method method, String name, String cron, String fixedDelay, String fixedRate, String initialDelay, String zone, TimeUnit timeUnit)protected Function<ScheduledEvent,Object>createFuncJob(WeakReference ref, Method method)voiddestroy(AnyValue conf)进程退出时,调用Service销毁 远程模式下该方法会重载成空方法 注意: 在此方法内不能调用MessageClient.sendMessage 方法,因为Application关闭时会先destroy掉MessageClientbooleanenabled()ScheduleManagerServiceenabled(boolean val)List<Object>execute(String scheduleName, boolean all)执行所有宿主对象中指定的任务名protected StringgetProperty(String value)voidinit(AnyValue conf)该方法必须是可以重复调用, 当reload时需要重复调用init方法 远程模式下该方法会重载成空方法voidonServersPostStart()voidonServersPreStart()voidschedule(Object service)开启宿主对象中所有的定时任务方法.protected ScheduleManagerService.ScheduledTaskschedule(WeakReference ref, Method method, boolean remoteMode)protected ScheduleManagerService.ScheduledTaskscheduleTask(WeakReference ref, Method method, String name, String cron, String fixedDelay, String fixedRate, String initialDelay, String zone, TimeUnit timeUnit)intstart(String scheduleName)开启所有宿主对象中指定的任务名intstop(String scheduleName)关闭所有宿主对象中指定的任务名voidunschedule(Object service)关闭宿主对象中所有的定时任务方法
-
-
-
字段详细资料
-
logger
protected final Logger logger
-
refTaskMap
protected final ConcurrentHashMap<WeakReference,List<ScheduleManagerService.ScheduledTask>> refTaskMap
-
lock
protected final ReentrantLock lock
-
application
protected Application application
-
enabled
protected boolean enabled
-
config
protected AnyValue config
-
-
构造器详细资料
-
ScheduleManagerService
protected ScheduleManagerService(UnaryOperator<String> propertyFunc)
-
-
方法详细资料
-
create
public static ScheduleManagerService create(UnaryOperator<String> propertyFunc)
-
enabled
public boolean enabled()
-
enabled
public ScheduleManagerService enabled(boolean val)
-
init
public void init(AnyValue conf)
从接口复制的说明:Service该方法必须是可以重复调用, 当reload时需要重复调用init方法 远程模式下该方法会重载成空方法
-
destroy
public void destroy(AnyValue conf)
从接口复制的说明:Service进程退出时,调用Service销毁 远程模式下该方法会重载成空方法 注意: 在此方法内不能调用MessageClient.sendMessage 方法,因为Application关闭时会先destroy掉MessageClient
-
onServersPreStart
public void onServersPreStart()
-
onServersPostStart
public void onServersPostStart()
-
schedule
public void schedule(Object service)
从接口复制的说明:ScheduledManager开启宿主对象中所有的定时任务方法. 存在定时任务方法返回true,否则返回false- 指定者:
schedule在接口中ScheduledManager- 参数:
service- 宿主对象
-
unschedule
public void unschedule(Object service)
从接口复制的说明:ScheduledManager关闭宿主对象中所有的定时任务方法- 指定者:
unschedule在接口中ScheduledManager- 参数:
service- 宿主对象
-
schedule
protected ScheduleManagerService.ScheduledTask schedule(WeakReference ref, Method method, boolean remoteMode)
-
scheduleTask
protected ScheduleManagerService.ScheduledTask scheduleTask(WeakReference ref, Method method, String name, String cron, String fixedDelay, String fixedRate, String initialDelay, String zone, TimeUnit timeUnit)
-
createdOnlyNameTask
protected ScheduleManagerService.ScheduledTask createdOnlyNameTask(WeakReference ref, Method method, String name, String cron, String fixedDelay, String fixedRate, String initialDelay, String zone, TimeUnit timeUnit)
-
createFuncJob
protected Function<ScheduledEvent,Object> createFuncJob(WeakReference ref, Method method)
-
start
public int start(String scheduleName)
从接口复制的说明:ScheduledManager开启所有宿主对象中指定的任务名- 指定者:
start在接口中ScheduledManager- 参数:
scheduleName- 定时任务名称- 返回:
- 返回任务数量
- 另请参阅:
Scheduled.name()
-
execute
public List<Object> execute(String scheduleName, boolean all)
从接口复制的说明:ScheduledManager执行所有宿主对象中指定的任务名- 指定者:
execute在接口中ScheduledManager- 参数:
scheduleName- 定时任务名称all- 是执行所有同名任务还是只执行其中任意一个- 返回:
- 结果集合
- 另请参阅:
Scheduled.name()
-
stop
public int stop(String scheduleName)
从接口复制的说明:ScheduledManager关闭所有宿主对象中指定的任务名- 指定者:
stop在接口中ScheduledManager- 参数:
scheduleName- 定时任务名称- 返回:
- 返回任务数量
- 另请参阅:
Scheduled.name()
-
-