1. 程式人生 > 其它 >獲取token和token的過期時間後不斷重新整理過期時間的處理方式

獲取token和token的過期時間後不斷重新整理過期時間的處理方式

技術標籤:Tokenjava

需求:把從第三方介面獲取到的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的方法!