tsurumure 5 сар өмнө
parent
commit
182639843f

+ 2 - 8
src/main/java/com/backendsys/modules/sse/emitter/SseEmitterManager.java

@@ -43,20 +43,14 @@ public class SseEmitterManager {
     }
     }
     // 公共方法,供外部移除SseEmitter
     // 公共方法,供外部移除SseEmitter
     public void removeEmitter(SseEmitterUTF8 emitter) {
     public void removeEmitter(SseEmitterUTF8 emitter) {
-        this.emitters.values().removeIf(e -> e == emitter); // 安全移除
         try {
         try {
-
-            System.out.println("-- removeEmitter ----------");
-            System.out.println("emitters: " + this.emitters);
-            System.out.println("emitter: " + emitter);
-            System.out.println("---------------------------");
-
             // System.out.println("(removeEmitter) emitter 关闭: " + emitter);
             // System.out.println("(removeEmitter) emitter 关闭: " + emitter);
             emitter.complete();
             emitter.complete();
         } catch (Exception e) {
         } catch (Exception e) {
             System.err.println("Failed to forcefully close emitter: " + e.getMessage());
             System.err.println("Failed to forcefully close emitter: " + e.getMessage());
+        } finally {
+            this.emitters.values().removeIf(e -> e == emitter); // 安全移除
         }
         }
-
     }
     }
     // 公共方法,供外部移除SseEmitter (全部)
     // 公共方法,供外部移除SseEmitter (全部)
     public void removeAllEmitter() {
     public void removeAllEmitter() {