Skip to content

Commit 88cbcdf

Browse files
authored
merge: main <- dev
SseService 수정
2 parents feef8c7 + b89e543 commit 88cbcdf

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

src/main/java/goorm/back/zo6/sse/application/SseService.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import goorm.back.zo6.sse.infrastructure.EmitterRepository;
66
import lombok.RequiredArgsConstructor;
77
import lombok.extern.log4j.Log4j2;
8-
import org.springframework.http.ResponseEntity;
98
import org.springframework.stereotype.Service;
109
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
1110

@@ -25,6 +24,16 @@ public class SseService {
2524

2625
public SseEmitter subscribe(Long conferenceId, Long sessionId){
2726
String eventKey = generateEventKey(conferenceId, sessionId);
27+
SseEmitter emitter = emitterRepository.findEmitterByKey(eventKey);
28+
if(emitter != null){
29+
try {
30+
emitter.complete();
31+
} catch (Exception e) {
32+
log.warn("Emitter 연결 끊기에 실패하였습니다.: {}", e.getMessage());
33+
}
34+
emitterRepository.deleteByEventKey(eventKey);
35+
}
36+
2837
SseEmitter sseEmitter = emitterRepository.save(eventKey, new SseEmitter(TIMEOUT));
2938

3039
registerEmitterHandler(eventKey, sseEmitter);

0 commit comments

Comments
 (0)