diff --git a/src/main/java/gc/mda/signal_batch/global/websocket/controller/StompTrackController.java b/src/main/java/gc/mda/signal_batch/global/websocket/controller/StompTrackController.java index 515b4f2..46c3d8c 100644 --- a/src/main/java/gc/mda/signal_batch/global/websocket/controller/StompTrackController.java +++ b/src/main/java/gc/mda/signal_batch/global/websocket/controller/StompTrackController.java @@ -71,13 +71,8 @@ public class StompTrackController { queryId, sessionId, // sessionId 전달 (연결 끊김 감지용) chunk -> sendChunkedDataToUser(userId, chunk), - status -> { - sendStatusToUser(userId, status); - // 완료 시 쿼리 등록 제거 - if ("COMPLETED".equals(status.getStatus()) || "FAILED".equals(status.getStatus())) { - activeQueryManager.completeQuery(sessionId); - } - } + // 리소스 정리는 서비스 finally 블록에서 일괄 처리 + status -> sendStatusToUser(userId, status) ); } else { // 기존 스트리밍 모드 @@ -86,13 +81,8 @@ public class StompTrackController { queryId, sessionId, chunk -> sendChunkToUser(userId, chunk), - status -> { - sendStatusToUser(userId, status); - // 완료 시 쿼리 등록 제거 - if ("COMPLETED".equals(status.getStatus()) || "FAILED".equals(status.getStatus())) { - activeQueryManager.completeQuery(sessionId); - } - } + // 리소스 정리는 서비스 finally 블록에서 일괄 처리 + status -> sendStatusToUser(userId, status) ); }