RuoYI 框架 异步任务管理

核心目标代码

AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, e.getMessage()))

 

代码解读

  1、异步任务管理类AsyncManager获取Bean对象

  2、线程池配置类ThreadPoolConfig创建线程池Bean对象

  3、异步工厂AsyncFactory创建可执行任务TimerTask

  4、提交任务给线程池

   以下的内容从JDK中粘贴翻译
 // schedule:延时设定时间(initialDelay)后只执行一次任务。
 public ScheduledFuture<?> schedule(Runnable command,long delay, TimeUnit unit);
 // schedule:延时设定时间(initialDelay)后只执行一次任务。
 public <V> ScheduledFuture<V> schedule(Callable<V> callable,long delay, TimeUnit unit);
 //延时设定时间(initialDelay)后执行第一次任务,每隔时间间隔(period)再次执行任务。
 public ScheduledFuture<?> scheduleAtFixedRate(Runnable command,long initialDelay,long period, TimeUnit unit);
 //延时设定时间(initialDelay)后执行第一次任务,随后每次任务执行完后延迟设定时间(delay)再次执行任务。
 public ScheduledFuture<?> scheduleWithFixedDelay(Runnable command,long initialDelay,long delay,TimeUnit unit);                                

  5、获取线程池实例执行任务

 

 

参考文章

【1】使用 Lambda 表达式来创建 TimerTask

【2】ScheduledExecutorService

posted @   先娶国王后取经  阅读(391)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示