|
|
|
@ -83,27 +83,29 @@ public class PostmanSchedulerService {
|
|
|
|
String response = null;
|
|
|
|
String response = null;
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
List<Map<String, Object>> dataMapList = sqlExecuteService.select(dataSourceId, sqlId, null);
|
|
|
|
List<Map<String, Object>> dataMapList = sqlExecuteService.select(dataSourceId, sqlId, null);
|
|
|
|
String dataString = objectMapper.writeValueAsString(dataMapList);
|
|
|
|
if(dataMapList != null && !dataMapList.isEmpty()) {
|
|
|
|
ReceiveMessageDto receiveMessageDto = ReceiveMessageDto.builder().senderHostId(senderHostId).senderTimestamp(senderTimestamp)
|
|
|
|
String dataString = objectMapper.writeValueAsString(dataMapList);
|
|
|
|
.messageUuid(messageUuid).messageType(AgentConfigDto.MessageType.TRANSFER_DB_TO_DB)
|
|
|
|
ReceiveMessageDto receiveMessageDto = ReceiveMessageDto.builder().senderHostId(senderHostId).senderTimestamp(senderTimestamp)
|
|
|
|
.recipientHostId(postman.getRecipientHostId()).recipientDropBoxId(postman.getRecipientDropBoxId())
|
|
|
|
.messageUuid(messageUuid).messageType(AgentConfigDto.MessageType.TRANSFER_DB_TO_DB)
|
|
|
|
.data(dataString).build();
|
|
|
|
.recipientHostId(postman.getRecipientHostId()).recipientDropBoxId(postman.getRecipientDropBoxId())
|
|
|
|
HttpHeaders httpHeaders = new HttpHeaders();
|
|
|
|
.data(dataString).build();
|
|
|
|
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
|
|
|
|
HttpHeaders httpHeaders = new HttpHeaders();
|
|
|
|
HttpEntity<ReceiveMessageDto> bodyEntity = new HttpEntity<>(receiveMessageDto, httpHeaders);
|
|
|
|
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
|
|
|
|
RestTemplate restTemplate = new RestTemplate();
|
|
|
|
HttpEntity<ReceiveMessageDto> bodyEntity = new HttpEntity<>(receiveMessageDto, httpHeaders);
|
|
|
|
String url = "http://" + knownAgent.getHostName() + ":" + knownAgent.getListenPort() + "/listen";
|
|
|
|
RestTemplate restTemplate = new RestTemplate();
|
|
|
|
log.debug("postman to {} send a message UUID {}", receiveMessageDto.getRecipientHostId(), receiveMessageDto.getMessageUuid());
|
|
|
|
String url = "http://" + knownAgent.getHostName() + ":" + knownAgent.getListenPort() + "/listen";
|
|
|
|
response = restTemplate.postForObject(url, bodyEntity, String.class);
|
|
|
|
log.debug("postman to {} send a message UUID {}", receiveMessageDto.getRecipientHostId(), receiveMessageDto.getMessageUuid());
|
|
|
|
AckDto ackDto = objectMapper.readValue(response, new TypeReference<AckDto>() {});
|
|
|
|
response = restTemplate.postForObject(url, bodyEntity, String.class);
|
|
|
|
log.debug("postman received ack from {} ack: {}", receiveMessageDto.getRecipientHostId(), ackDto);
|
|
|
|
AckDto ackDto = objectMapper.readValue(response, new TypeReference<AckDto>() {});
|
|
|
|
if(AckDto.ResultType.RECEIVE_SUCCESS != ackDto.getResult()) {
|
|
|
|
log.debug("postman received ack from {} ack: {}", receiveMessageDto.getRecipientHostId(), ackDto);
|
|
|
|
log.warn("대상 agent {}[{}]에게 전송하였으나 상대방이 수신하지 못하였습니다. 응답: {} 응답메시지: {}"
|
|
|
|
if(AckDto.ResultType.RECEIVE_SUCCESS != ackDto.getResult()) {
|
|
|
|
, knownAgent.getHostId(), knownAgent.getHostName(), ackDto.getResult(), ackDto.getResultText());
|
|
|
|
log.warn("대상 agent {}[{}]에게 전송하였으나 상대방이 수신하지 못하였습니다. 응답: {} 응답메시지: {}"
|
|
|
|
}
|
|
|
|
, knownAgent.getHostId(), knownAgent.getHostName(), ackDto.getResult(), ackDto.getResultText());
|
|
|
|
else {
|
|
|
|
}
|
|
|
|
String postProcessingSqlId = postman.getMessage().getPostProcessingSqlId();
|
|
|
|
else {
|
|
|
|
sqlExecuteService.update(dataSourceId, postProcessingSqlId, new HashMap<String, Object>());
|
|
|
|
String postProcessingSqlId = postman.getMessage().getPostProcessingSqlId();
|
|
|
|
|
|
|
|
sqlExecuteService.update(dataSourceId, postProcessingSqlId, new HashMap<String, Object>());
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch (JsonProcessingException e) {
|
|
|
|
catch (JsonProcessingException e) {
|
|
|
|
|