【微信接口的定时器完全没有思路 _复盘踩坑 】 | IT修真院·坑乎
微信接口的定时器完全没有思路
我也踩过这个坑( 1 )
已统计您的踩坑,无需重复点击
回答(1)
复盘踩坑
详细描述
编辑于2024-11-24
  • [武汉|荣耀师兄]JAVA-石奥林
    0

    /** * 微信的accessToken有效时间为两个小时,调用微信接口很多都要用到accessToken所以需要将accessToken保存(保存到内存中或者保存到数据库中)这里使用保存到内存中的方式实现 */package com.b505.config;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;import com.b505.weixin.pojo.WeixinAccessToken;import com.b505.weixin.util.WeixinCommenUtil;import com.b505.weixin.util.WeixinConstants;/** * <p>Company: B505信息技术研究所 </p> * @Description: 定时获取微信accessToken(7100s)保存到内存中 * @Create Date: 2017年10月23日上午10:47:32 * @Version: V1.00 * @Author: 追到乌云的尽头找太阳 */@Componentpublic class WeixinAccessTokenTask {    Logger logger = LoggerFactory.getLogger(WeixinAccessTokenTask.class);    @Autowired    private WeixinCommenUtil weixinCommenUtil;    // 第一次延迟1秒执行,当执行完后7100秒再执行    @Scheduled(initialDelay = 1000, fixedDelay = 7000*1000 )    public void getWeixinAccessToken(){        try {            String token = weixinCommenUtil.getToken(WeixinConstants.APPID, WeixinConstants.APPSECRET).getAccess_token();              WeixinAccessToken.setToken(token);            logger.info("获取到的微信accessToken为"+token);        } catch (Exception e) {            logger.error("获取微信adcessToken出错,信息如下");            e.printStackTrace();            this.getWeixinAccessToken();            // 此处可能陷入死循环        }    }

    编辑于2018-07-29