larksuite / oapi-sdk-java

Apache License 2.0
236 stars 87 forks source link

ws长连接客户端启动问题 #122

Closed JiChen-gh closed 5 months ago

JiChen-gh commented 5 months ago

com.lark.oapi.ws.Client启动后, com.lark.oapi.ws.Listener中onFailure方法监听到非ClientException异常的时候,会去isReconnecting并将isReconnecting值改为true,当重连接成功后, com.lark.oapi.ws.reconnect会在循环判断连接是否为空重连接循环中this.sleep((long)(this.reconnectInterval * 1000))等待一段时间,此时isReconnectin的值仍为true,在等待的这段时间com.lark.oapi.ws.Listener中onFailure方法再次监听到非ClientException异常的时候会因为判断isReconnectin的值为true时而返回导致连接不断开,但次数连接已经异常不可用了,而返回到 com.lark.oapi.ws.reconnect中又由于此时连接未断开导致tthis.conn == null条件不成立退出来重试连接的循环,最终导致ws连接存在但不可用,且无法进入自动重试连接阶段。

maemual commented 5 months ago

get 我们排查一下

maemual commented 5 months ago

2.2.7 版本已修复。