From aa3945ee034ab5bd5a231d55f8a23a5b71045185 Mon Sep 17 00:00:00 2001 From: "semin.baek" Date: Mon, 2 Jun 2025 11:29:00 +0900 Subject: [PATCH] =?UTF-8?q?=EC=97=90=EB=9F=AC=EB=A9=94=EC=8B=9C=EC=A7=80?= =?UTF-8?q?=20=EA=B0=9C=EC=84=A0=20AckDto=20toString=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bsmlab/dfx/agent/listener/dto/AckDto.java | 1 + .../task/status/StatusCheckerSchedulerService.java | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/bsmlab/dfx/agent/listener/dto/AckDto.java b/src/main/java/com/bsmlab/dfx/agent/listener/dto/AckDto.java index 8029f3b..3350d2c 100644 --- a/src/main/java/com/bsmlab/dfx/agent/listener/dto/AckDto.java +++ b/src/main/java/com/bsmlab/dfx/agent/listener/dto/AckDto.java @@ -2,6 +2,7 @@ package com.bsmlab.dfx.agent.listener.dto; import lombok.*; +@ToString @Getter @Setter @Builder diff --git a/src/main/java/com/bsmlab/dfx/agent/task/status/StatusCheckerSchedulerService.java b/src/main/java/com/bsmlab/dfx/agent/task/status/StatusCheckerSchedulerService.java index bfbed6c..a6e2839 100644 --- a/src/main/java/com/bsmlab/dfx/agent/task/status/StatusCheckerSchedulerService.java +++ b/src/main/java/com/bsmlab/dfx/agent/task/status/StatusCheckerSchedulerService.java @@ -15,6 +15,7 @@ import org.springframework.http.MediaType; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; import org.springframework.scheduling.support.CronTrigger; import org.springframework.stereotype.Service; +import org.springframework.web.client.ResourceAccessException; import org.springframework.web.client.RestTemplate; import java.util.List; @@ -49,10 +50,11 @@ public class StatusCheckerSchedulerService { RestTemplate restTemplate = new RestTemplate(); String url = "http://" + knownAgent.getHostName() + ":" + knownAgent.getListenPort() + "/command"; log.debug("StatusChecker to {} send a message UUID {}", knownAgent.getHostName(), messageUuid); - String response = restTemplate.postForObject(url, bodyEntity, String.class); + String response = ""; ObjectMapper objectMapper = new ObjectMapper(); AckDto ackDto = null; try { + response = restTemplate.postForObject(url, bodyEntity, String.class); ackDto = objectMapper.readValue(response, new TypeReference() {}); log.debug("StatusChecker received ack from {} ack: {}", knownAgent.getHostName(), ackDto); if(AckDto.ResultType.PROCESS_SUCCESS == ackDto.getResult()) { @@ -65,10 +67,15 @@ public class StatusCheckerSchedulerService { this.agentConfigReader.setKnownAgentStatus(knownAgent.getHostId(), "DOWN"); log.debug("known agent {} {} is DOWN", knownAgent.getHostId(), knownAgent.getHostName()); } - } catch (JsonProcessingException e) { + } + catch (JsonProcessingException e) { this.agentConfigReader.setKnownAgentStatus(knownAgent.getHostId(), "DOWN"); log.debug("known agent {} {} alive message is not valid then set DOWN", knownAgent.getHostId(), knownAgent.getHostName()); } + catch (ResourceAccessException e) { + this.agentConfigReader.setKnownAgentStatus(knownAgent.getHostId(), "DOWN"); + log.debug("known agent {} {} connection timeout", knownAgent.getHostId(), knownAgent.getHostName()); + } } } }