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()); + } } } }