乐趣区

关于java:记一次mqtt断开连接的线上问题

应用的 mqtt 服务器:emqx,
应用的客户端连贯:vertx,
日志大小有 900M,我是用 PilotEdit Lite 关上的。

查看日志,发现有 358 条线程梗塞的异样

查看具体信息,发现梗塞工夫越来越长,从几秒到 30 多秒;
而我的 mqttclient 和 emqx 服务器的心跳是 30 秒,梗塞造成心跳没法维持,连贯断开。

查看阻塞地位代码:

坑爹,发现之前的人写了个死循环
如果序号都递增,不会有问题
如果序号有距离,如已存在两条记录,编号 001、003、那么新插入第三条时,冀望编码为 003,然而 003 已存在,循环里没有递增编号,就会死循环。

退出移动版