獲取token和token的過期時間後不斷重新整理過期時間的處理方式
阿新 • • 發佈:2021-02-05
需求:把從第三方介面獲取到的token的過期時間儲存,下一次在過期時間前觸發重新整理token。
第一種:
package com.transferdata.demo; import com.sun.jmx.snmp.Timestamp; import java.util.Timer; import java.util.TimerTask; public class TestTimer { int time; public void timer1() { Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { System.out.println("定時任務執行一次"); time = 3000; timer2(time); } }, 0); } public void timer2(int time) { Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { System.out.println("迴圈執行"+new Timestamp(System.currentTimeMillis())); } }, time, time); } public static void main(String[] args) { TestTimer testTimer = new TestTimer(); testTimer.timer1(); } }
解釋說明:這裡的time是過期時間,在第一個Timer中3000賦值給time,在實際運用中相當於就是把獲取到的token的過期時間賦值給time,然後當做引數傳入第二個Timer,當做第二個imer的執行時間不斷執行。
效果:
看秒數,三秒執行一次,正好是3000毫秒,完畢!
第二種:
我們專案中如果有用到redis,那就更好處理token了;儲存token和token的過期時間為字串。如果沒有token的key的話,去程式碼手動觸發一次獲取token的方法!