利用ScheduledExecutorService实现定时任务
来源:互联网 发布:我的世界0.14js大全 编辑:程序博客网 时间:2024/09/21 09:21
ScheduledExecutorService是java并发包下提供给我们实现定时任务的工具。
利用它,我们能轻松的实现定时任务。
/** * 定时刷新token * @author Mingchenchen */@Componentpublic class RefreshToken { private static Logger logger = Logger.getLogger(RefreshToken.class); @PostConstruct public void init(){ logger.info("定时任务启动:20分钟刷新一次token"); //此处如果间隔很短则需要注意并发性 如果任务执行时间>delay时间则存在并发问题 //schedule()则不会 它是任务完成后的XX分执行下一次 而scheduleAtFixedRate是固定的间隔执行 ScheduledExecutorService service = Executors .newSingleThreadScheduledExecutor(); service.scheduleAtFixedRate(getLogginDmsRunner(), 0, 20, TimeUnit.MINUTES); } /** * 登录获取token * @return */ private static Runnable getLogginRunner(){ return new Runnable() { public void run() { logger.info("定时任务开始执行:登录"); UserLoginInfoVo userLoginInfoVo = new UserLoginInfoVo(); userLoginInfoVo.setUserName("foo"); userLoginInfoVo.setPassWord("bar"); LoginUtil.login(userLoginInfoVo); //结果存入缓存 logger.info("定时任务执行完毕:token = " + userLoginInfoVo.getToken()); } }; }}
需要注意的一点:
此处把它配置成了@Compoment 然后在public void init(){}方法里面启动定时任务,并注解了
@PostConstruct,让spring在构造之前初始化。
即在服务启动的时候就会执行init方法把定时任务启动起来。
之前我是用的static块,然后忘记了加上@compoment导致没有执行。
结果:
0 0
- 利用ScheduledExecutorService实现定时任务
- Spring定时任务的实现方式--ScheduledExecutorService
- ScheduledExecutorService执行定时任务
- ScheduledExecutorService定时任务
- ScheduledExecutorService执行定时任务
- ScheduledExecutorService执行定时任务
- 定时任务接口ScheduledExecutorService
- 定时任务实现Timer, TimeTask, ScheduledExecutorService及Spring定时器
- 定时任务实现Timer, TimeTask, ScheduledExecutorService及Spring定时器
- 定时任务实现Timer, TimeTask, ScheduledExecutorService及Spring定时器
- ScheduledExecutorService执行定时任务接口
- ScheduledExecutorService定时任务的使用
- 定时任务(3)--ScheduledExecutorService类
- java使用ScheduledExecutorService定时任务
- java定时任务接口ScheduledExecutorService
- java定时任务接口ScheduledExecutorService
- java定时任务接口ScheduledExecutorService
- java定时任务接口ScheduledExecutorService
- 7个改变世界的Java项目
- Android 设计相关网站推荐
- platform总线注册过程及platform_driver与platform_device的匹配
- 由前序遍历和中序遍历重建二叉树
- HTTP协议1:工作原理
- 利用ScheduledExecutorService实现定时任务
- oracle之type
- JAVA--冒泡排序、选择排序
- UIScrollView的delaysContentTouches与canCencelContentTouches属性
- Kodi ——6 Controls (25)6.25 FixedList Container
- URL 收藏
- android6.15 intent flag 以及线性布局中的gravity
- Scrum敏捷软件开发模式
- 柱面墙效果展示