微服务定时任务

@Scheduled 是 Spring Framework 中的一个注解,用于安排方法定期执行或在特定时间点执行。

使用 @Scheduled 注解的方法需要满足以下条件:

  1. 该方法必须是公共的(public)。
  2. 该方法不应该返回任何值,或者返回一个可以忽略的值。
  3. 该方法不应该抛出任何异常。

@Configuration //1.主要用于标记配置类,兼备Component的效果。

@EnableScheduling // 2.开启定时任务

java 复制代码
@RestController
@RequestMapping("/administrator")
@Configuration      //1.主要用于标记配置类,兼备Component的效果。
@EnableScheduling   // 2.开启定时任务
//@Component
public class UserConlleter {
    @Resource
    private Userservise userservise;
    @Resource
    private UserMapper userMapper;
    @Resource
    private JwtProperTies jwtProperTies;
    @Resource
    private HttpServletRequest httpServletRequest;

    //生成随机邀请码用于注册
    @PostMapping("Invitationcode/{id}")
    private BaseResult<String> getCode(@PathVariable Integer id){
        String code = CodeUtil.toSerialCode(id);
        //设置权限码
        Administrator administrator = userMapper.selectById(id);
        administrator.setCode(code);
        userservise.updateById(administrator);
        return BaseResult.ok("请求成功",code);
    }

    //30分钟刷新校验码
    @Scheduled(fixedRate = 300000)
    @GetMapping("updateCode")
    private void updateCode(){
        List<Administrator> administratorList = userservise.list();
        for (Administrator administrator:administratorList){
            //获取code
            BaseResult<String> code = getCode(administrator.getAid());
            //设置校验码
            administrator.setCode(code.getData());
            //更新
            userservise.updateById(administrator);
        }
    }
}
相关推荐
Haooog19 小时前
Docker面试题(不定时更新)
java·docker·面试
feathered-feathered19 小时前
Redis基础知识+RDB+AOF(面试)
java·数据库·redis·分布式·后端·中间件·面试
毕设源码-赖学姐19 小时前
【开题答辩全过程】以 高校排课系统的优化设计与实现为例,包含答辩的问题和答案
java·eclipse
q_191328469519 小时前
基于SpringBoot2+Vue2的行业知识答题考试系统
java·vue.js·spring boot·mysql·毕业设计·计算机毕业设计·演示文稿
上78将19 小时前
Java中既有编译执行又有解释执行,这个怎么理解?
java·开发语言
Mr_Xuhhh20 小时前
JAVA期末重点
java·开发语言·python
测试人社区-小明20 小时前
智能测试误报问题的深度解析与应对策略
人工智能·opencv·线性代数·微服务·矩阵·架构·数据挖掘
a程序小傲20 小时前
小红书Java面试被问:java创建对象有哪些方式?
java·开发语言·面试
代码or搬砖20 小时前
Spring Cache讲解
java·后端·spring
wxin_VXbishe20 小时前
springboot居家养老管理系统-计算机毕业设计源码55953
java·c++·spring boot·python·spring·django·php