From d2d49774136502f86d097de6952dbd3e23dea259 Mon Sep 17 00:00:00 2001 From: chandler <1915724901@qq.com> Date: Sat, 4 Jan 2025 20:16:00 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20[java]-[mvn]-=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=B6=85=E6=97=B6=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/wechat/ferry/handle/WeChatSocketClient.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/handle/WeChatSocketClient.java b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/handle/WeChatSocketClient.java index 46eb503..55829c1 100644 --- a/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/handle/WeChatSocketClient.java +++ b/clients/java/wechat-ferry-mvn/src/main/java/com/wechat/ferry/handle/WeChatSocketClient.java @@ -23,6 +23,7 @@ import com.wechat.ferry.entity.proto.Wcf.Functions; import com.wechat.ferry.entity.proto.Wcf.Request; import com.wechat.ferry.entity.proto.Wcf.Response; import com.wechat.ferry.entity.proto.Wcf.WxMsg; +import com.wechat.ferry.exception.BizException; import com.wechat.ferry.service.SDK; import com.wechat.ferry.utils.HttpClientUtil; import com.wechat.ferry.utils.XmlJsonConvertUtil; @@ -120,14 +121,21 @@ public class WeChatSocketClient { public Response sendCmd(Request req) { try { + // 设置超时时间 20s + cmdSocket.setSendTimeout(20000); ByteBuffer bb = ByteBuffer.wrap(req.toByteArray()); cmdSocket.send(bb); ByteBuffer ret = ByteBuffer.allocate(BUFFER_SIZE); long size = cmdSocket.receive(ret, true); return Response.parseFrom(Arrays.copyOfRange(ret.array(), 0, (int)size)); } catch (Exception e) { - log.error("命令调用失败: ", e); - return null; + if ("Timed out".equals(e.getMessage())) { + log.error("请求超时: ", e); + throw new BizException("请求超时:1.接口耗时太长,2.服务与客户端失去联系,请重启本服务!详细异常信息:" + e.getMessage()); + } else { + log.error("命令调用失败: ", e); + throw new BizException("命令调用失败:" + e.getMessage()); + } } }