微信服务器在五秒内无响应多次请求去重
微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次
解决方式:利用redis做缓存处理
redis后续会更新怎么配置如何使用,本次只单一针对微信请求问题做缓存解决微信请求问题
代码部分:
// 获取链接JedisConnection con = redisConnectionFactory.getConnection();Jedis jedis = con.getNativeConnection();// 定义key值 返回结果staToken前台自己定义一个唯一的码就行// setnx 成功设置返回1没设置返回0 后续有设置这个值的存在时长60slong s = jedis.setnx(staToken+"formkey","0");if(s == 0){//key 存在//获取缓存token第一次程序运行后会给这个对象赋值String formtoken = jedis.get(staToken);//如果这个值不为空会直接返回结果而不去再次运行代码if(formtoken == null){JSONObject jsonObject=null;Map<String, Object> m = new HashMap<String, Object>();try {//程序等待3秒(等待第一次结果)Thread.currentThread().sleep(3000);//获取缓存tokenString formtoken_1 = jedis.get(staToken);//3s后程序运行成功后会给这个对象赋值 if(formtoken_1 == null){m.put("Message", "您的网络较慢,请稍后重试");//创建订单成功或失败信息m.put("status", 9); // jsonObject = JSONObject.fromObject(m);out.print(jsonObject);out.flush();out.close();}m = JsonProcessUtil.jsonToBean(formtoken_1, Map.class);jsonObject = JSONObject.fromObject(m);out.print(jsonObject);out.flush();out.close();} catch (InterruptedException e) {e.printStackTrace();m.put("Message", "网络异常,请稍后再试");//创建订单成功或失败信息m.put("status", 2); //jsonObject = JSONObject.fromObject(m);out.print(jsonObject);out.flush();out.close();}}else{JSONObject jasonObject = JSONObject.fromObject(formtoken);out.print(jasonObject);out.flush();out.close();}}else{//设置60秒过期jedis.expire(staToken+"formkey",60);实际程序运行内容区你想写的内容//将结果加入缓存,设置60秒过期清空keyjedis.setex(staToken,60, String类型结果对象);}
前台随机码:
var x="0123456789qwertyuioplkjhgfdsazxcvbnm"; var tmp="";var timestamp = new Date().getTime();for(var i=0;i<30;i++) {tmp += x.charAt(Math.ceil(Math.random()*100000000)%x.length);}// 随机码+当前时间+openid 足够唯一的了var staToken=tmp+timestamp+Openid;
仅供参考
欢迎各位朋友交流,互相帮助提升自我!
微信服务器在五秒内无响应多次请求去重相关推荐
- 微信公众号开发五秒内不能返回结果防止微信服务器再次通知
在公众号开发中如果我们不能再五秒内给予微信服务器响应,那么微信服务器就会断开连接并且重新发起通知,会连续通知三次. 这样会造成一个问题就是,我们的业务逻辑如果不能保证五秒内回复微信的通知那么微信就会给 ...
- 枪火游侠显示无法连接服务器,枪火游侠游戏无响应怎么办_枪火游侠玩不了解决方法...
近日,不少玩家反应在进入游戏总会出现各种玩不了或打不开的问题,导致无法正常运行游戏,那么枪火游侠游戏无响应怎么办?下面小编就把枪火游侠玩不了解决方法分享给大家! 枪火游侠游戏无响应怎么办_枪火游侠玩不 ...
- 掌上公交显示服务器失败,掌上公交无响应怎么办 解决方法介绍
现在的人出行方式非常多样,图方便的就是自驾出行,但是问题就是停车难的问题,费钱的就是打车出行,但是也存在很大的安全隐患.最提倡的出行方式就是公交出行了,既便宜又环保,但是公交出行的缺点就是等车时间长. ...
- java无响应_Java HttpClient请求无响应解决方案
首先来看下多线程处理的流程: 在来看下:httpClient请求工具方法: public static String sendGetRequest(String reqURL, String deco ...
- 用AdGuard Home搭建一个内部的DNS服务器,开启局域网内无广告和追踪的浏览体验
为什么使用对象不喜欢广告? 我们在看电视的时候不开会员就有90秒的小广告,刷朋友圈的时候会有汽车.欧巴的互动广告,看新闻头条的时候有贴片广告,看抖音的时候也会有带货的广告,小网站上也还有 * 感荷官在 ...
- Java微信公众平台开发(二)--微信服务器post消息体的接收
转自: http://www.cuiyongzhi.com/post/39.html 在上一篇的文章中我们详细讲述了如何将我们的应用服务器和微信腾讯服务器之间的对接操作,最后接入成功,不知道你有没有发 ...
- 如何通过微信与手机连接到服务器,本地服务器和微信服务器的具体通信过程是怎样的...
switch($RX_TYPE) { case "text": $i=1; $this->responseText($postObj, $i); $i=$i+1; sleep ...
- 微信服务器缓存消息,使用缓存防击穿,解决微信”被动回复用户消息”重试回复问题...
本文转载自微信公众号「UP技术控」,作者conan5566.转载本文请联系UP技术控公众号. 背景 做微信公众号开发的时候,其中有个接收普通消息.接收事件推送 API. 有这么条规则, "微 ...
- 微信 被动回复 (五)
[controller]中我定义了一个get方法和一个post方法,但是在使用过程中我们就用了get方法,这里我们就来说说我们预留的post的方法的使用 @RequestMapping(value=& ...
最新文章
- Spring之DAO二
- php检测网址是否有效,php 检测因特网址是否有效
- java 异常对象_在java中的异常处理中的异常对象是什么
- TZOJ 2999 Network(连通图割点数量)
- (二)使用预定义模型 QStringListModel例子
- 流式计算之Storm简介
- linux开发板推荐
- outlook邮箱签名设置
- vmware 常用知识
- 【高通量测序】.dna文件批量读取CAG重复序列长度
- Android MediaRecorder录制视频
- MA Chapter 3 Presenting information(SRCharlotte)
- SCI 投稿全过程信件模板一览
- ESlint语法检测工具
- 2021年美容师(初级)最新解析及美容师(初级)模拟考试题
- sicily 1691 Abundance
- matplotlib模拟重力场中粒子的分布
- python员工管理系统课程设计报告_python--员工信息管理系统编译及思路
- 【JAVA语言基础】
- 【Pytorch深度学习实践】B站up刘二大人之SoftmaxClassifier-代码理解与实现(8/9)