在微信开发中我们会经常遇到在处理业务逻辑超过5s的情况,在超时时,微信会重新请求,总共请求三次,这样就会导致一系列的问题,怎样避免这些问题呢?
通过研究发现在微信官方文档清楚写着,如下:
假如服务器无法保证在五秒内处理并回复,必须做出下述回复,这样微信服务器才不会对此作任何处理,并且不会发起重试(这种情况下,可以使用客服消息接口进行异步回复),否则,将出现严重的错误提示。详见下面说明:
1、直接回复空串(指字节长度为0的空字符串,而不是XML结构体中content字段的内容为空) 2、直接回复success
针对微信的官方文字,大家的疑问想必就2个
1、如何直接回复空串或者回复success来避免超时现象呢?
2、如何利用客服接口发送消息?
针对以上2个问题我一一作答
第一个问题很简单可以解决:
即在程序中直接return "";即可,具体实例在下面奉上
第二个问题:
客服接口发送消息想必很多人都会,不细讲,不过下面会奉上实例
然后异步发送可能很多人有疑问,我使用线程的方式实现,做法如下:
public static Object handle(final TextMessage text) {
//超时5s,进行异步发送客服消息
Thread insertDbThread = new Thread(new Runna