获取token和token的过期时间后不断刷新过期时间的处理方式

布满荆棘的人生 2023-01-08 02:20 257阅读 0赞

需求:把从第三方接口获取到的token的过期时间保存,下一次在过期时间前触发刷新token。

第一种:

  1. package com.transferdata.demo;
  2. import com.sun.jmx.snmp.Timestamp;
  3. import java.util.Timer;
  4. import java.util.TimerTask;
  5. public class TestTimer {
  6. int time;
  7. public void timer1() {
  8. Timer timer = new Timer();
  9. timer.schedule(new TimerTask() {
  10. public void run() {
  11. System.out.println("定时任务执行一次");
  12. time = 3000;
  13. timer2(time);
  14. }
  15. }, 0);
  16. }
  17. public void timer2(int time) {
  18. Timer timer = new Timer();
  19. timer.schedule(new TimerTask() {
  20. public void run() {
  21. System.out.println("循环执行"+new Timestamp(System.currentTimeMillis()));
  22. }
  23. }, time, time);
  24. }
  25. public static void main(String[] args) {
  26. TestTimer testTimer = new TestTimer();
  27. testTimer.timer1();
  28. }
  29. }

解释说明:这里的time是过期时间,在第一个Timer中3000赋值给time,在实际运用中相当于就是把获取到的token的过期时间赋值给time,然后当做参数传入第二个Timer,当做第二个imer的执行时间不断执行。

效果:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3ExNTEwMjc4MDcwNQ_size_16_color_FFFFFF_t_70

看秒数,三秒执行一次,正好是3000毫秒,完毕!

第二种:

我们项目中如果有用到redis,那就更好处理token了;保存token和token的过期时间为字符串。如果没有token的key的话,去代码手动触发一次获取token的方法!

发表评论

表情:
评论列表 (有 0 条评论,257人围观)

还没有评论,来说两句吧...

相关阅读