Преглед на файлове

修改客户端收不到消息的bug

lgy преди 4 години
родител
ревизия
5ae6df9a44

+ 3 - 3
src/main/java/com/persagy/client/GroupNettyClientHandler.java

@@ -89,11 +89,11 @@ public class GroupNettyClientHandler extends ChannelInboundHandlerAdapter {
     private void iniAlarmResult(ChannelHandlerContext ctx) {
         try {
             log.info("--initAlarmResult--");
-            String msg = NettyMessageQueue.getNettyMessageQueue().consume();
-            while (StringUtils.isNotBlank(msg)){
+            TimeInterval timer = DateUtil.timer();
+            while (NettyMessageQueue.getNettyMessageQueue().size()>0 && timer.interval()<10000){
+                String msg = NettyMessageQueue.getNettyMessageQueue().consume();
                 log.info("剩余报警消息令总数:{}",NettyMessageQueue.getNettyMessageQueue().size());
                 ctx.writeAndFlush(msg);
-                msg = NettyMessageQueue.getNettyMessageQueue().consume();
             }
         } catch (Exception e) {
             log.error("发送报警消息失败",e);

+ 0 - 1
src/main/java/com/persagy/client/WebSocketClientFactory.java

@@ -139,7 +139,6 @@ public class WebSocketClientFactory {
                             LockUtil.getInstance().lock.unlock();
                         }
                     }
-                    log.info("---[{}]",executor.toString());
                     String finalMessage = message;
                     executor.execute(()-> {
                         try {

+ 5 - 3
src/main/java/com/persagy/job/SpringSchedule.java

@@ -1,5 +1,7 @@
 package com.persagy.job;
 
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.date.TimeInterval;
 import com.persagy.client.GroupNettyClient;
 import com.persagy.entity.NettyMessage;
 import io.netty.channel.ChannelHandlerContext;
@@ -46,11 +48,11 @@ public class SpringSchedule {
     private void sengAlarmMessage() {
         try {
             log.info("--sengAlarmMessage--");
-            String msg = NettyMessageQueue.getNettyMessageQueue().consume();
-            while (StringUtils.isNotBlank(msg)){
+            TimeInterval timer = DateUtil.timer();
+            while (NettyMessageQueue.getNettyMessageQueue().size()>0 && timer.interval() < 100000){
+                String msg = NettyMessageQueue.getNettyMessageQueue().consume();
                 log.info("剩余报警消息令总数:{}",NettyMessageQueue.getNettyMessageQueue().size());
                 groupNettyClient.sendMessage(msg);
-                msg = NettyMessageQueue.getNettyMessageQueue().consume();
             }
         } catch (Exception e) {
             log.error("发送报警消息失败",e);