|
|
|
|
@ -95,22 +95,25 @@ public class PostmanSchedulerService {
|
|
|
|
|
.senderPostmanId(postman.getPostmanId()).messageUuid(messageUuid).messageType(AgentConfigDto.MessageType.TRANSFER_DB_TO_DB)
|
|
|
|
|
.recipientHostId(postman.getRecipientHostId()).recipientDropBoxId(postman.getRecipientDropBoxId())
|
|
|
|
|
.routingHostList(routingHostList)
|
|
|
|
|
.data(dataString).build();
|
|
|
|
|
.data(dataString).processStatus(ReceiveMessageDto.ProcessStatus.PROCESS_SEND).build();
|
|
|
|
|
log.debug("postman to {} send a message UUID {} (data count: {})", receiveMessageDto.getRecipientHostId(), receiveMessageDto.getMessageUuid(), dataMapList.size());
|
|
|
|
|
AckDto ackDto = MessageUtils.send(this.agentConfigReader, postman.getPostmanId(), receiveMessageDto);
|
|
|
|
|
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 {
|
|
|
|
|
if(ackDto.getResult() == AckDto.ResultType.RECEIVE_SUCCESS) {
|
|
|
|
|
receiveMessageDto.setProcessStatus(ReceiveMessageDto.ProcessStatus.PROCESS_RECEIVED);
|
|
|
|
|
receiveMessageDto.setReceivedTimestamp(System.currentTimeMillis());
|
|
|
|
|
String postProcessingSqlId = postman.getMessage().getPostProcessingSqlId();
|
|
|
|
|
sqlExecuteService.update(dataSourceId, postProcessingSqlId, new HashMap<String, Object>());
|
|
|
|
|
}
|
|
|
|
|
if(agentConfigReader.isConnectedConsole()) {
|
|
|
|
|
ReceiveMessageDto.ProcessStatus processStatus = AckDto.ResultType.RECEIVE_SUCCESS == ackDto.getResult() ? ReceiveMessageDto.ProcessStatus.PROCESS_RECEIVED : ReceiveMessageDto.ProcessStatus.PROCESS_FAIL;
|
|
|
|
|
receiveMessageDto.setProcessStatus(processStatus);
|
|
|
|
|
else if(ackDto.getResult() == AckDto.ResultType.TRANSFER_SUCCESS) {
|
|
|
|
|
receiveMessageDto.setReceivedTimestamp(System.currentTimeMillis());
|
|
|
|
|
receiveMessageDto.setProcessStatus(ReceiveMessageDto.ProcessStatus.PROCESS_SEND);
|
|
|
|
|
}
|
|
|
|
|
else if(ackDto.getResult() == AckDto.ResultType.RECEIVE_FAIL || ackDto.getResult() == AckDto.ResultType.TRANSFER_FAIL) {
|
|
|
|
|
log.warn("대상 agent {}[{}]에게 전송하였으나 상대방이 수신하지 못하였습니다. 응답: {} 응답메시지: {}", knownAgent.getHostId(), knownAgent.getHostName(), ackDto.getResult(), ackDto.getResultText());
|
|
|
|
|
receiveMessageDto.setProcessStatus(ReceiveMessageDto.ProcessStatus.PROCESS_FAIL);
|
|
|
|
|
}
|
|
|
|
|
if(agentConfigReader.isConnectedConsole()) {
|
|
|
|
|
MessageUtils.announceMessageHistory(this.agentConfigReader, receiveMessageDto);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|