ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

微服务定时任务

2026/9/19 13:27:17 拓冰建站 浏览量
微服务定时任务

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

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

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

@Configuration      //1.主要用于标记配置类,兼备Component的效果。
@EnableScheduling   // 2.开启定时任务

@RestController
@RequestMapping("/administrator")
@Configuration      //1.主要用于标记配置类,兼备Component的效果。
@EnableScheduling   // 2.开启定时任务
//@Component
public class UserConlleter {@Resourceprivate Userservise userservise;@Resourceprivate UserMapper userMapper;@Resourceprivate JwtProperTies jwtProperTies;@Resourceprivate 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){//获取codeBaseResult<String> code = getCode(administrator.getAid());//设置校验码administrator.setCode(code.getData());//更新userservise.updateById(administrator);}}
}