선박 항적 실시간 수집 및 배치 집계 시스템 (Spring Boot + Spring Batch)
Go to file
HeungTak Lee 78ff307785 feat: 글로벌 동시 쿼리 제한(Semaphore) 및 쿼리 완료 시 리소스 반환 보장
Phase 1.1 + 1.2: WebSocket 리플레이 요청 동시 부하 제어
- ActiveQueryManager에 Fair Semaphore 기반 글로벌 동시 쿼리 제한 추가 (기본 30개)
- @Async 스트리밍 메서드 내에서 슬롯 획득 (인바운드 채널 블로킹 방지)
- 쿼리 완료/실패/취소 시 finally 블록에서 반드시 리소스 반환
  - 글로벌 Semaphore 슬롯 반환
  - 세션별 쿼리 카운트 감소 (기존 누락 수정)
  - ActiveQueryManager 쿼리 정리
- TrackQueryInterceptor 세션 제한값 외부 설정화 (@Value)
- application-prod.yml에 websocket.query 설정 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 13:36:10 +09:00
.claude.bak feat: 항적 조회 안정성 개선 - 계층적 폴백, 선박 누락 방지, 2-pass 뷰포트 필터링 2026-02-05 06:53:47 +09:00
docs feat: 글로벌 동시 쿼리 제한(Semaphore) 및 쿼리 완료 시 리소스 반환 보장 2026-02-06 13:36:10 +09:00
src feat: 글로벌 동시 쿼리 제한(Semaphore) 및 쿼리 완료 시 리소스 반환 보장 2026-02-06 13:36:10 +09:00
.gitattributes Initial commit 2025-11-19 16:03:16 +09:00
.gitignore Initial commit 2025-11-19 16:03:16 +09:00
mvnw Initial commit 2025-11-19 16:03:16 +09:00
mvnw.cmd Initial commit 2025-11-19 16:03:16 +09:00
pom.xml Initial commit 2025-11-19 16:03:16 +09:00