From 45f21f0f728c780554cfc7e74287081711c3c4ab Mon Sep 17 00:00:00 2001 From: sukangpunch Date: Tue, 1 Apr 2025 00:19:10 +0900 Subject: [PATCH 1/2] =?UTF-8?q?sseService=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../goorm/back/zo6/sse/application/SseService.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/goorm/back/zo6/sse/application/SseService.java b/src/main/java/goorm/back/zo6/sse/application/SseService.java index ad13b04..6bb112c 100644 --- a/src/main/java/goorm/back/zo6/sse/application/SseService.java +++ b/src/main/java/goorm/back/zo6/sse/application/SseService.java @@ -8,6 +8,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; +import org.yaml.snakeyaml.emitter.Emitter; import java.io.IOException; import java.util.Map; @@ -25,6 +26,16 @@ public class SseService { public SseEmitter subscribe(Long conferenceId, Long sessionId){ String eventKey = generateEventKey(conferenceId, sessionId); + SseEmitter emitter = emitterRepository.findEmitterByKey(eventKey); + if(emitter != null){ + try { + emitter.complete(); + } catch (Exception e) { + log.warn("Emitter 연결 끊기에 실패하였습니다.: {}", e.getMessage()); + } + emitterRepository.deleteByEventKey(eventKey); + } + SseEmitter sseEmitter = emitterRepository.save(eventKey, new SseEmitter(TIMEOUT)); registerEmitterHandler(eventKey, sseEmitter); From 4283d515b4c61dbc42f794ec174c6dcdea420721 Mon Sep 17 00:00:00 2001 From: sukangpunch Date: Tue, 1 Apr 2025 00:20:10 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EC=95=88=EC=93=B0=EB=8A=94=20=EB=9D=BC?= =?UTF-8?q?=EC=9D=B4=EB=B8=8C=EB=9F=AC=EB=A6=AC=20=EC=9E=84=ED=8F=AC?= =?UTF-8?q?=ED=8A=B8=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/goorm/back/zo6/sse/application/SseService.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/goorm/back/zo6/sse/application/SseService.java b/src/main/java/goorm/back/zo6/sse/application/SseService.java index 6bb112c..af24504 100644 --- a/src/main/java/goorm/back/zo6/sse/application/SseService.java +++ b/src/main/java/goorm/back/zo6/sse/application/SseService.java @@ -5,10 +5,8 @@ import goorm.back.zo6.sse.infrastructure.EmitterRepository; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; -import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; -import org.yaml.snakeyaml.emitter.Emitter; import java.io.IOException; import java.util.Map;