986ae7bc14
fix: MonitoringController 레거시 타일 쿼리 → AIS 위치/항적 기반 전환
...
- /delay: t_tile_summary → t_vessel_tracks_5min 기반 처리 지연 계산
- /haegu/realtime: t_tile_summary JOIN → t_ais_position + t_haegu_definitions 공간 조인
- /throughput: 타일 처리량 → 5분 항적 처리량 + vessel_tracks 테이블 크기
- /quality: 타일 중복/누락 → 항적 중복 + AIS 위치 갱신 지연 검증
- 프론트엔드 타입/라벨 동기화 (HaeguStat, DataQuality, ProcessingDelay)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 18:30:16 +09:00
631454f8c4
fix: Dashboard API 연동 오류 수정 — 캐시 모니터링 + 렌더링 안전성
...
- CacheMonitoringController: @ConditionalOnProperty 제거, 5개 캐시 통합 집계
- MonitoringController: delay API에서 delayMinutes/status 항상 반환
- FiveMinTrackCache/HourlyTrackCache: getStatsMap() 메서드 추가
- App.tsx: Suspense fallback + ErrorBoundary 추가
- Dashboard.tsx: nullable 필드 방어 (?? 연산자)
- formatters.ts: formatNumber null 안전 처리
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 17:33:08 +09:00
dd694bdcbb
feat: React 19 SPA Dashboard Phase 1 + 안전 배포 시스템
...
## React SPA Dashboard
- React 19 + Vite 7 + Tailwind CSS 4 + Recharts 2 SPA 구축
- Dashboard (배치현황/시스템메트릭/캐시/처리량) + JobMonitor (이력조회/Step상세)
- i18n 다국어(ko/en) 시스템, Light/Dark 테마 CSS 토큰 전환
- frontend-maven-plugin 1.15.1 (mvn package 시 자동 빌드)
- WebViewController SPA forward + context-path /signal-batch
- 레거시 HTML 48개 파일 전체 삭제
## 안전 배포
- VesselBatchScheduler @PreDestroy: 신규 Job 차단 + 실행 중 Job 완료 대기
- server.shutdown=graceful, timeout-per-shutdown-phase=3m
- deploy.yml: 활성 Job 3초 연속 확인 후 stop → 교체 → start
- signal-batch.service TimeoutStopSec 60→180
- scripts/deploy.sh: 수동 배포용 안전 스크립트
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 17:05:38 +09:00