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) {