com.alibaba.nls.client.AccessToken#apply获取token失败,
返回:{"ErrMsg":""} 导致sdk抛错npe异常
我们通过一些手段尝试性的触发问题现象: 1、测试环境下,清空access_token的redis数据。 2、正常测试,功能ok,查看access_token的redis内容,这里假设值为A。 3、手动调用接口刷新access_token,大概十几次后,值变化为B。 4、再次正常测试,发现功能异常(因为此时存储在redis的access_token已经过期)。 5、清空access_token的redis数据,再次测试,功能又恢复正常。 现在问题终于变成必现的了:) 解决方案 现在我们搞清楚问题的原因是存储在redis的access_token可能在很短的时间内过期(因为有太多中控服务器啦),但是我们一般设置的有效期都接近或等于7200s,这就导致一旦出现问题的话,如果不清理redis,问题就会持续2小时左右,这简直就是灾难! 目前想到的比较理想的解决方案就是:服务器发现功能异常时,刷新access_token并更新redis,然后再次调用接口。这种容错机制本来是微信的事-_-!
来源于网络,供您参考,如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】 希望我的回答对您有所帮助,望采纳! ~ O(∩_∩)O~
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。