Skip to content

Commit 3066e44

Browse files
committed
fix: SSE emitter 리소스 누수 방지
1 parent 0d9059a commit 3066e44

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

src/main/java/io/wisoft/prepair/prepair_api/global/sse/SseEmitterManager.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ public class SseEmitterManager {
1616
private final ConcurrentMap<UUID, SseEmitter> emitters = new ConcurrentHashMap<>();
1717

1818
public SseEmitter create(UUID id) {
19+
SseEmitter existing = emitters.remove(id);
20+
if (existing != null) {
21+
existing.complete();
22+
}
23+
1924
SseEmitter emitter = new SseEmitter(TIMEOUT);
2025
emitters.put(id, emitter);
2126

@@ -36,7 +41,7 @@ public void send(UUID id, String eventName, Object data) {
3641
.data(data));
3742
} catch (IOException e) {
3843
log.error("[SSE] 전송 실패 - id: {}", id, e);
39-
emitters.remove(id);
44+
complete(id);
4045
}
4146
}
4247

0 commit comments

Comments
 (0)