From dd72251141f3cad7738057ca07225e23faeeb051 Mon Sep 17 00:00:00 2001 From: "semin.baek" Date: Thu, 22 May 2025 18:56:23 +0900 Subject: [PATCH] =?UTF-8?q?postman=20=EB=8D=B0=EC=9D=B4=ED=84=B0=EA=B0=80?= =?UTF-8?q?=20=EC=9E=88=EB=8A=94=20=EA=B2=BD=EC=9A=B0=EC=97=90=EB=A7=8C=20?= =?UTF-8?q?=EC=A0=84=EC=86=A1=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20postman,=20dropbox=EC=97=90=20description=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dfx/agent/config/AgentConfigDto.java | 2 + .../task/postman/PostmanSchedulerService.java | 44 ++++++++++--------- 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/bsmlab/dfx/agent/config/AgentConfigDto.java b/src/main/java/com/bsmlab/dfx/agent/config/AgentConfigDto.java index 859afa1..7248aa0 100644 --- a/src/main/java/com/bsmlab/dfx/agent/config/AgentConfigDto.java +++ b/src/main/java/com/bsmlab/dfx/agent/config/AgentConfigDto.java @@ -60,6 +60,7 @@ public class AgentConfigDto { private String dataSourceId; private String sqlId; private String saveDirectoryRoot; + private String description; } @Data @@ -77,6 +78,7 @@ public class AgentConfigDto { private String recipientHostId; private String recipientDropBoxId; private List routingHostIdList; + private String description; } @Data diff --git a/src/main/java/com/bsmlab/dfx/agent/task/postman/PostmanSchedulerService.java b/src/main/java/com/bsmlab/dfx/agent/task/postman/PostmanSchedulerService.java index 77f81b5..b0d8fbd 100644 --- a/src/main/java/com/bsmlab/dfx/agent/task/postman/PostmanSchedulerService.java +++ b/src/main/java/com/bsmlab/dfx/agent/task/postman/PostmanSchedulerService.java @@ -83,27 +83,29 @@ public class PostmanSchedulerService { String response = null; try { List> dataMapList = sqlExecuteService.select(dataSourceId, sqlId, null); - String dataString = objectMapper.writeValueAsString(dataMapList); - ReceiveMessageDto receiveMessageDto = ReceiveMessageDto.builder().senderHostId(senderHostId).senderTimestamp(senderTimestamp) - .messageUuid(messageUuid).messageType(AgentConfigDto.MessageType.TRANSFER_DB_TO_DB) - .recipientHostId(postman.getRecipientHostId()).recipientDropBoxId(postman.getRecipientDropBoxId()) - .data(dataString).build(); - HttpHeaders httpHeaders = new HttpHeaders(); - httpHeaders.setContentType(MediaType.APPLICATION_JSON); - HttpEntity bodyEntity = new HttpEntity<>(receiveMessageDto, httpHeaders); - RestTemplate restTemplate = new RestTemplate(); - String url = "http://" + knownAgent.getHostName() + ":" + knownAgent.getListenPort() + "/listen"; - log.debug("postman to {} send a message UUID {}", receiveMessageDto.getRecipientHostId(), receiveMessageDto.getMessageUuid()); - response = restTemplate.postForObject(url, bodyEntity, String.class); - AckDto ackDto = objectMapper.readValue(response, new TypeReference() {}); - log.debug("postman received ack from {} ack: {}", receiveMessageDto.getRecipientHostId(), ackDto); - if(AckDto.ResultType.RECEIVE_SUCCESS != ackDto.getResult()) { - log.warn("대상 agent {}[{}]에게 전송하였으나 상대방이 수신하지 못하였습니다. 응답: {} 응답메시지: {}" - , knownAgent.getHostId(), knownAgent.getHostName(), ackDto.getResult(), ackDto.getResultText()); - } - else { - String postProcessingSqlId = postman.getMessage().getPostProcessingSqlId(); - sqlExecuteService.update(dataSourceId, postProcessingSqlId, new HashMap()); + if(dataMapList != null && !dataMapList.isEmpty()) { + String dataString = objectMapper.writeValueAsString(dataMapList); + ReceiveMessageDto receiveMessageDto = ReceiveMessageDto.builder().senderHostId(senderHostId).senderTimestamp(senderTimestamp) + .messageUuid(messageUuid).messageType(AgentConfigDto.MessageType.TRANSFER_DB_TO_DB) + .recipientHostId(postman.getRecipientHostId()).recipientDropBoxId(postman.getRecipientDropBoxId()) + .data(dataString).build(); + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setContentType(MediaType.APPLICATION_JSON); + HttpEntity bodyEntity = new HttpEntity<>(receiveMessageDto, httpHeaders); + RestTemplate restTemplate = new RestTemplate(); + String url = "http://" + knownAgent.getHostName() + ":" + knownAgent.getListenPort() + "/listen"; + log.debug("postman to {} send a message UUID {}", receiveMessageDto.getRecipientHostId(), receiveMessageDto.getMessageUuid()); + response = restTemplate.postForObject(url, bodyEntity, String.class); + AckDto ackDto = objectMapper.readValue(response, new TypeReference() {}); + log.debug("postman received ack from {} ack: {}", receiveMessageDto.getRecipientHostId(), ackDto); + if(AckDto.ResultType.RECEIVE_SUCCESS != ackDto.getResult()) { + log.warn("대상 agent {}[{}]에게 전송하였으나 상대방이 수신하지 못하였습니다. 응답: {} 응답메시지: {}" + , knownAgent.getHostId(), knownAgent.getHostName(), ackDto.getResult(), ackDto.getResultText()); + } + else { + String postProcessingSqlId = postman.getMessage().getPostProcessingSqlId(); + sqlExecuteService.update(dataSourceId, postProcessingSqlId, new HashMap()); + } } } catch (JsonProcessingException e) {