前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >spring boot定时任务问题分析

spring boot定时任务问题分析

作者头像
蛋蛋编程手记
发布2022-12-12 21:08:19
3000
发布2022-12-12 21:08:19
举报
文章被收录于专栏:蛋蛋编程手记蛋蛋编程手记

最近遇到个定时任务的问题,定时任务每小时去微信申请一个新的accesstoken,业务需要拿到token来生成微信二维码。

为什么要用定时获取token呢,是因为微信的这个token是两小时过期一次,而且token申请每天是有限制的,不能每一次业务请求都去重新申请token,token必须复用。基于这个情况下,选择了目前的这种架构方案。

现在的问题是无法保证系统在刚启动的时候就有token了,因为定时任务是1小时执行一次,系统启动的时候任务大概率是不会执行的。

所以我的问题就是怎么样在系统启动的时候去主动触发一次任务

就这个问题而言,可以使用fixeddelay,fixedrate注解代替cron表达式,这俩注解都会在系统启动的时候执行一次任务。

也可以利用spring容器生命周期相关解决方案来主动调用任务执行一次。

当然最方便的是利用spring bean的生命周期相关解决方案。最简单的就是在任务上再加一个@postconstruct注解。这样这个bean实例化完,依赖属性注入完以后就会执行一次定时任务,比较方便。

多了解一些spring底层的东西,开发时候的选择会更多,解决方案会更加优雅。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 蛋蛋编程手记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档