微信学习系列之一:定时获取微信access_token的线程
2015-12-06 10:37
686 查看
package wx.thread; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import entity.AccessToken; import util.ReadSQLUtil; import util.WeixinUtil; import wx.service.DBService; /** * * @Package wx.thread * @ClassName: TokenThread * @Description: 定时获取微信access_token的线程 * @author Tao * @version V1.0 * @date 2015年12月4日 下午3:49:02 */ public class TokenThread extends Thread { private static Logger log = LoggerFactory.getLogger(TokenThread.class); // 第三方用户唯一凭证 private String appid = ""; // 第三方用户唯一凭证密码 private String appsecret = ""; private AccessToken accessToken = null; public TokenThread(String threadName) { setName(threadName); } public TokenThread(String threadName, String appid, String appsecret) { setName(threadName); this.appid = appid; this.appsecret = appsecret; } public void setAppID(String appid) { this.appid = appid; } public void setAppSecret(String appsecret) { this.appsecret = appsecret; } @Override public void run() { boolean i = true; while (i) { log.info("Weixin AppID:{}, AppSecret:{}", appid, appsecret); accessToken = WeixinUtil.getAccessToken(appid, appsecret); try { if (null != accessToken) { // 把获取的AccessToken存入数据库 String sql = ReadSQLUtil.ReadSqlFromFile("UpdateAppAccessToken.txt"); sql = sql.replace("{AccessToken}", accessToken.getAccessToken()).replace("{AppID}", appid) .replace("{AppSecret}", appsecret); DBService.Execute(sql); log.info("获取access_token成功,有效时长{}秒 toke:{}", accessToken.getExpiresIn(), accessToken.getAccessToken()); // 休眠expires_in-200秒; Thread.sleep((accessToken.getExpiresIn() - 200) * 1000); } else { // 如果access_token为null,60秒后再获取 Thread.sleep(60 * 1000); } } catch (InterruptedException e) { log.error("The thread enters the blocking state error! errmsg:\n{}", e); i = false; e.printStackTrace(); } } } }
相关文章推荐
- java泡妞小程序
- 微信语音识别和语义理解接口
- 微信公众号开发index.php
- 微信蓝牙demo服务器官方代码操作——配置接口配置
- 微信程序概要
- AngularJS进阶(十七)在AngularJS应用中实现微信认证授权遇到的坑
- AngularJS进阶(十七)在AngularJS应用中实现微信认证授权遇到的坑
- JS案例练习-手机微信聊天对话框
- 仿微信聊天功能实现
- 微信公众号的黑色商业链揭秘
- 方向传感器的简单使用-模仿微信摇一摇
- 微信公众号的黑色商业链揭秘
- 仿微信二维码的制作
- 微信游戏
- win10系统右下角登录微信和QQ时不显示图标怎么办?
- PHP微信红包API接口
- 融合通信(中移动)----微信的强力竞争者来了----阿冬专栏!!!
- php实现微信发红包
- php实现微信发红包
- PHP微信红包API接口