TokenJob.java 1.4 KB
package com.aukey.example.job;

import com.aukey.example.util.DwHelperUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.HashMap;
import java.util.Map;

/**
 * @author: wgf
 * @create: 2020-05-13 10:54
 * @description: 获取token定时任务
 **/
@Component
public class TokenJob {
    private Logger log = LoggerFactory.getLogger(TokenJob.class);

    @Value("${dwTokenApi:null}")
    private String dwTokenApi;/* DW获取token的接口 */

    @Value("${dwAppId:null}")/* 数据仓库AppId */
    private String appId;

    @Value("${dwAppSecret:null}")/* 数据仓库应用秘钥 */
    private String appSecret;

    /**
     * 3分钟刷新获取一次token
     */
    @Scheduled(fixedDelay = 180 * 1000l)
    public synchronized void fetchToken() {
        if ("null".equals(this.appSecret)) {
            log.info("未配置appSecret,不访问远程DW服务!");
            return;
        }

        if ("null".equals(this.appId)) {
            log.info("未配置appId,不访问远程DW服务!");
            return;
        }

        Map<String, Object> params = new HashMap<>();
        params.put("appSecret", this.appSecret);
        DwHelperUtil.doGet(dwTokenApi, params);
    }
}