From 51edb74474faf186367b867cc1b6ad3e76ff03bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Fri, 26 Jul 2024 17:14:23 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E5=8F=91=E6=B6=88=E6=81=AF=E5=8F=91=E9=80=81=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E6=97=A0=E9=99=90=E9=87=8D=E8=AF=95=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/dromara/web/controller/AuthController.java | 2 +- .../java/org/dromara/common/sse/core/SseEmitterManager.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java index 0b976db9a..b561693d6 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java @@ -106,7 +106,7 @@ public class AuthController { dto.setMessage("欢迎登录RuoYi-Vue-Plus后台管理系统"); dto.setUserIds(List.of(userId)); SseMessageUtils.publishMessage(dto); - }, 20, TimeUnit.SECONDS); + }, 5, TimeUnit.SECONDS); return R.ok(loginVo); } diff --git a/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/core/SseEmitterManager.java b/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/core/SseEmitterManager.java index 4b56b69a0..276df102d 100644 --- a/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/core/SseEmitterManager.java +++ b/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/core/SseEmitterManager.java @@ -30,6 +30,7 @@ public class SseEmitterManager { emitter.onCompletion(() -> emitters.remove(token)); emitter.onTimeout(() -> emitters.remove(token)); + emitter.onError((e) -> emitters.remove(token)); try { emitter.send(SseEmitter.event().comment("connected")); @@ -72,7 +73,7 @@ public class SseEmitterManager { try { entry.getValue().send(SseEmitter.event() .name("message") - .reconnectTime(10000L) + .reconnectTime(-1L) .data(message)); } catch (Exception e) { emitters.remove(entry.getKey());