From 508cc264ee2e3a29e6ad638db99704ed6ee9a200 Mon Sep 17 00:00:00 2001 From: htlee Date: Thu, 19 Feb 2026 18:34:47 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20MonitoringController=20Timestamp=20?= =?UTF-8?q?=EC=BA=90=EC=8A=A4=ED=8C=85=20=EC=98=A4=EB=A5=98=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - JdbcTemplate이 timestamptz를 java.sql.Timestamp로 반환하는 케이스 처리 - toLocalDateTime() 유틸 메서드로 Timestamp/OffsetDateTime/LocalDateTime 통합 변환 Co-Authored-By: Claude Opus 4.6 --- .../controller/MonitoringController.java | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/gc/mda/signal_batch/monitoring/controller/MonitoringController.java b/src/main/java/gc/mda/signal_batch/monitoring/controller/MonitoringController.java index cdf2bc6..e5c76ac 100644 --- a/src/main/java/gc/mda/signal_batch/monitoring/controller/MonitoringController.java +++ b/src/main/java/gc/mda/signal_batch/monitoring/controller/MonitoringController.java @@ -50,14 +50,8 @@ public class MonitoringController { """ ); - Object aisRaw = aisLatest.get("latest_update_time"); - LocalDateTime aisTime = null; - if (aisRaw instanceof java.time.OffsetDateTime odt) { - aisTime = odt.toLocalDateTime(); - } else if (aisRaw instanceof LocalDateTime ldt) { - aisTime = ldt; - } - LocalDateTime queryTime = (LocalDateTime) queryLatest.get("latest_processed_time"); + LocalDateTime aisTime = toLocalDateTime(aisLatest.get("latest_update_time")); + LocalDateTime queryTime = toLocalDateTime(queryLatest.get("latest_processed_time")); long delayMinutes = 0; String delayStatus = "NORMAL"; @@ -233,4 +227,15 @@ public class MonitoringController { return quality; } + + private static LocalDateTime toLocalDateTime(Object raw) { + if (raw instanceof java.sql.Timestamp ts) { + return ts.toLocalDateTime(); + } else if (raw instanceof java.time.OffsetDateTime odt) { + return odt.toLocalDateTime(); + } else if (raw instanceof LocalDateTime ldt) { + return ldt; + } + return null; + } }