json 설정파일의 key를 camel case로 변경

main
semin.baek 10 months ago
parent b9547d6b21
commit 8698ef7914

@ -1,22 +1,22 @@
{ {
"sender": { "sender": {
"host-id": "sam", "hostId": "sam",
"timestamp": 1750643945523 "timestamp": 1750643945523
}, },
"message-uuid": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6e", "messageUuid": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6e",
"message-type": "SAVE_FILE", "messageType": "SAVE_FILE",
"recipient": { "recipient": {
"host-id": "defree", "hostId": "defree",
"drop-box-id": "receive-work-image-file" "dropBoxId": "receive-work-image-file"
}, },
"data": [ "data": [
{ {
"file-name": "v1.jpg", "fileName": "v1.jpg",
"meta-data": { "metaData": {
"FILE_ID": "F1V1JPG", "FILE_ID": "F1V1JPG",
"ORIGINAL_FILE_NAME": "현장사진1.jpg" "ORIGINAL_FILE_NAME": "현장사진1.jpg"
}, },
"meta-drop-box-id": "save-work-image-file-info" "metaDropBoxId": "save-work-image-file-info"
} }
] ]
} }

@ -1,13 +1,13 @@
{ {
"sender": { "sender": {
"host-id": "sam", "hostId": "sam",
"timestamp": 1740643945523 "timestamp": 1740643945523
}, },
"message-uuid": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d", "messageUuid": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"message-type": "SAVE_DB_DATA", "messageType": "SAVE_DB_DATA",
"recipient": { "recipient": {
"host-id": "defree", "hostId": "defree",
"drop-box-id": "save-violation-history" "dropBoxId": "save-violation-history"
}, },
"data": [ "data": [
{ {

@ -1,112 +1,135 @@
{ {
"host-id": "first-agent", "myHostId": "first-agent",
"listen-port": 16801, "myListenPort": 16801,
"known-agent-list": [ "knownAgentList": [
{ {
"host-id": "second-agent", "hostId": "second-agent",
"host-name": "mkami.foxsoft.kr", "hostName": "mkami.foxsoft.kr",
"listen-port": 16801, "listenPort": 16801,
"drop-box-id-list": ["drop1", "drop2"] "dropBoxIdList": [
"drop1",
"drop2"
]
}, },
{ {
"host-id": "third-agent", "hostId": "third-agent",
"host-name": "defree.co.kr", "hostName": "defree.co.kr",
"listen-port": 16801, "listenPort": 16801,
"drop-box-id-list": ["drop3", "drop4"] "dropBoxIdList": [
"drop3",
"drop4"
]
} }
], ],
"data-source-config": [ "dataSourceConfig": [
{ {
"data-source-id": "dfcms", "dataSourceId": "dfcms",
"driverClassName": "org.postgresql.Driver", "driverClassName": "org.postgresql.Driver",
"url": "jdbc:postgresql://bsm-lab.com:5432/defree?currentSchema=DFCMS", "url": "jdbc:postgresql://bsm-lab.com:5432/defree?currentSchema=DFCMS",
"username": "defreeadmin", "username": "defreeadmin",
"password": "qortpals1!" "password": "qortpals1!"
}, },
{ {
"data-source-id": "mochastory", "dataSourceId": "mochastory",
"driverClassName": "com.mysql.jdbc.Driver", "driverClassName": "com.mysql.jdbc.Driver",
"url": "jdbc:mysql://bsm-lab.com:3306/MOCHASTORY?allowPublicKeyRetrieval=true", "url": "jdbc:mysql://bsm-lab.com:3306/MOCHASTORY?allowPublicKeyRetrieval=true",
"username": "MOCHASTORY", "username": "MOCHASTORY",
"password": "MOCHASTORY" "password": "MOCHASTORY"
} }
], ],
"sqlMapperLocations": ["D:/projects/bsm-lab/dfx/dfxagent/src/docs/mapper-examples/**/*.xml"], "sqlMapperLocations": [
"drop-box": { "D:/projects/bsm-lab/dfx/dfxagent/src/docs/mapper-examples/**/*.xml"
"received-message-storage-root": "D:/projects/bsm-lab/dfx/dfxagent/src/docs/messages/received", ],
"processed-message-storage-root": "D:/projects/bsm-lab/dfx/dfxagent/src/docs/messages/processed", "dropBox": {
"failure-message-storage-root": "D:/projects/bsm-lab/dfx/dfxagent/src/docs/messages/failure", "receivedMessageStorageRoot": "D:/projects/bsm-lab/dfx/dfxagent/src/docs/messages/received",
"drop-box-list": [ "processedMessageStorageRoot": "D:/projects/bsm-lab/dfx/dfxagent/src/docs/messages/processed",
"failureMessageStorageRoot": "D:/projects/bsm-lab/dfx/dfxagent/src/docs/messages/failure",
"dropBoxList": [
{ {
"drop-box-id": "save-violation-history", "dropBoxId": "save-violation-history",
"task-type": "RECEIVE_DB_TO_DB_SAVE", "taskType": "RECEIVE_DB_TO_DB_SAVE",
"data-source-id": "dfcms", "dataSourceId": "dfcms",
"sql-id": "dfcms.violation.insertViolationHistory" "sqlId": "dfcms.violation.insertViolationHistory"
}, },
{ {
"drop-box-id": "receive-work-image-file", "dropBoxId": "receive-work-image-file",
"task-type": "RECEIVE_FILE", "taskType": "RECEIVE_FILE",
"save-directory-root": "D:\\projects\\bsm-lab\\dfx\\run\\receive_file" "saveDirectoryRoot": "D:\\projects\\bsm-lab\\dfx\\run\\receive_file"
}, },
{ {
"drop-box-id": "save-work-image-file-info", "dropBoxId": "save-work-image-file-info",
"task-type": "RECEIVE_DB_TO_DB_SAVE", "taskType": "RECEIVE_DB_TO_DB_SAVE",
"data-source-id": "dfcms", "dataSourceId": "dfcms",
"sql-id": "dfcms.file.insertFileInfo" "sqlId": "dfcms.file.insertFileInfo"
} }
] ]
}, },
"postman": [ "postman": [
{ {
"postman-id": "postman1", "postmanId": "postman1",
"task-type": "DB_READ_THEN_SEND", "taskType": "DB_READ_THEN_SEND",
"action": { "action": {
"type": "TRIGGER", "type": "TRIGGER",
"command": "runSelectSomeThenSend", "command": "runSelectSomeThenSend",
"parameters-key-list": ["REG_DATE_FROM", "REG_DATE_TO"] "parametersKeyList": [
"REG_DATE_FROM",
"REG_DATE_TO"
]
}, },
"message": { "message": {
"message-type": "TRANSFER_DB_TO_DB", "messageType": "TRANSFER_DB_TO_DB",
"data-source-id": "dfcms", "dataSourceId": "dfcms",
"sql-id": "dfcms.selectSome" "sqlId": "dfcms.selectSome"
}, },
"recipient-host-id": "third-agent", "recipientHostId": "third-agent",
"recipient-drop-box-id": "drop3", "recipientDropBoxId": "drop3",
"routing-host-id-list": ["first-agent", "second-agent", "third-agent"] "routingHostIdList": [
"first-agent",
"second-agent",
"third-agent"
]
}, },
{ {
"postman-id": "postman2", "postmanId": "postman2",
"task-type": "DB_READ_THEN_SEND", "taskType": "DB_READ_THEN_SEND",
"action": { "action": {
"type": "SCHEDULED", "type": "SCHEDULED",
"cron": "0 0 3 * * *" "cron": "0 0 3 * * *"
}, },
"message": { "message": {
"message-type": "TRANSFER_DB_TO_DB", "messageType": "TRANSFER_DB_TO_DB",
"data-source-id": "dfcms", "dataSourceId": "dfcms",
"sql-id": "dfcms.selectSome" "sqlId": "dfcms.selectSome"
}, },
"recipient-host-id": "third-agent", "recipientHostId": "third-agent",
"recipient-drop-box-id": "drop3", "recipientDropBoxId": "drop3",
"routing-host-id-list": ["first-agent", "second-agent", "third-agent"] "routingHostIdList": [
"first-agent",
"second-agent",
"third-agent"
]
}, },
{ {
"postman-id": "postman3", "postmanId": "postman3",
"task-type": "FILE_READ_THEN_SEND", "taskType": "FILE_READ_THEN_SEND",
"action": { "action": {
"type": "SCHEDULED", "type": "SCHEDULED",
"cron": "0 1 3 * * *" "cron": "0 1 3 * * *"
}, },
"message": { "message": {
"message-type": "TRANSFER_FILE", "messageType": "TRANSFER_FILE",
"watch-directory": "D:\\projects\\bsm-lab\\dfx\\run\\send_file", "watchDirectory": "D:\\projects\\bsm-lab\\dfx\\run\\send_file",
"meta-data-data-source-id": "save-work-image-file-info", "metaDataDataSourceId": "save-work-image-file-info",
"meta-data-sql-id": "dfcms.file.selectFileInfo", "metaDataSqlId": "dfcms.file.selectFileInfo",
"meta-drop-box-id": "save-work-image-file-info" "metaDropBoxId": "save-work-image-file-info"
}, },
"recipient-host-id": "third-agent", "recipientHostId": "third-agent",
"recipient-drop-box-id": "drop4", "recipientDropBoxId": "drop4",
"routing-host-id-list": ["first-agent", "second-agent", "third-agent"] "routingHostIdList": [
"first-agent",
"second-agent",
"third-agent"
]
} }
] ]
} }

@ -6,8 +6,8 @@ import java.util.List;
@Data @Data
public class AgentConfigDto { public class AgentConfigDto {
private String hostId; private String myHostId;
private int listenPort; private int myListenPort;
private List<KnownAgent> knownAgentList; private List<KnownAgent> knownAgentList;
private List<DataSourceConfig> datasourceConfig; private List<DataSourceConfig> datasourceConfig;
private List<String> sqlMapperLocations; private List<String> sqlMapperLocations;

@ -8,28 +8,15 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.dbcp2.BasicDataSource; import org.apache.commons.dbcp2.BasicDataSource;
import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.annotation.MapperScans; import org.mybatis.spring.annotation.MapperScans;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import javax.sql.DataSource;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -45,13 +32,10 @@ public class DfxAgentConfiguration {
private static final String DB_SOURCE_FILE_PATH = "./storages/dfxagent.mv.db"; private static final String DB_SOURCE_FILE_PATH = "./storages/dfxagent.mv.db";
// gradle bootRun 실행 설정 // gradle bootRun 실행 설정
// bootRun --args="--embedded.db.file.directory=D:\projects\bsm-lab\dfx\dfxagent\src\docs\settings-examples --setting.file=D:\projects\bsm-lab\dfx\dfxagent\src\docs\settings-examples\dfxagent.json" // bootRun --args=" --setting.file=D:\projects\bsm-lab\dfx\dfxagent\src\docs\settings-examples\dfxagent.json"
// command line java 실행 설정 // command line java 실행 설정
// java -jar dfxagent.jar --embedded.db.file.directory=D:\projects\bsm-lab\dfx\dfxagent\src\docs\settings-examples --setting.file=D:\projects\bsm-lab\dfx\dfxagent\src\docs\settings-examples\dfxagent.json // java -jar dfxagent.jar --setting.file=D:\projects\bsm-lab\dfx\dfxagent\src\docs\settings-examples\dfxagent.json
//example: embedded.db.file.directory=D:\projects\bsm-lab\dfx\dfxagent\src\docs\settings-examples
@Value("${embedded.db.file.directory}")
private String embeddedDbFileDirectory;
//example: setting.file=D:\projects\bsm-lab\dfx\dfxagent\src\docs\settings-examples\dfxagent.json //example: setting.file=D:\projects\bsm-lab\dfx\dfxagent\src\docs\settings-examples\dfxagent.json
@Value("${setting.file}") @Value("${setting.file}")
private String settingFile; private String settingFile;
@ -62,11 +46,6 @@ public class DfxAgentConfiguration {
// agent 설정 관리자. 대부분의 기능에 필요함 // agent 설정 관리자. 대부분의 기능에 필요함
@Bean(name = "agentConfigReader") @Bean(name = "agentConfigReader")
public AgentConfigReader agentConfigReader() { public AgentConfigReader agentConfigReader() {
if(StringUtils.isBlank(this.embeddedDbFileDirectory)) {
log.error("cannot found a embedded DB file. {}", this.embeddedDbFileDirectory);
log.error("exit application");
System.exit(0);
}
if(StringUtils.isBlank(this.settingFile)) { if(StringUtils.isBlank(this.settingFile)) {
log.error("cannot found a setting file. {}", this.settingFile); log.error("cannot found a setting file. {}", this.settingFile);
log.error("exit application"); log.error("exit application");
@ -146,58 +125,6 @@ public class DfxAgentConfiguration {
return dynamicDataSourceService; return dynamicDataSourceService;
} }
// 연계 처리 결과 관리할 내부 DB 사용여부 결정 못함
public void copyEmbeddedDbFileIfNotExists() {
String embeddedDbFileDirectory = System.getProperty("embedded.db.file.directory");
File targetDirectory = new File(embeddedDbFileDirectory);
if(!targetDirectory.exists()) {
targetDirectory = new File(System.getProperty("user.home"));
}
File targetFile = new File(targetDirectory.getAbsoluteFile() + "/dfxagent.mv.db");
log.debug("embeddedDbFilePath: {}", embeddedDbFileDirectory);
if(!targetFile.exists()) {
try {
InputStream inputStream = new ClassPathResource(DB_SOURCE_FILE_PATH).getInputStream();
log.debug("embedded db file copy from {} to {}", DB_SOURCE_FILE_PATH, embeddedDbFileDirectory);
Files.copy(inputStream, Paths.get(targetFile.getAbsolutePath()), StandardCopyOption.REPLACE_EXISTING);
}
catch (IOException e) {
log.error("cannot make Embedded DB files. exit application.");
System.exit(0);
}
}
}
// 연계 처리 결과 관리할 내부 DB 사용여부 결정 못함
@Bean(name = "innerDataSource")
@ConfigurationProperties("spring.datasource") // application.yml 에서 설정된 값 자동 적용
public DataSource innerDataSource(DataSourceProperties dataSourceProperties) {
return dataSourceProperties.initializeDataSourceBuilder().build();
}
// 연계 처리 결과 관리할 내부 DB 사용여부 결정 못함
@Bean(name = "innerSqlSessionFactory")
public SqlSessionFactory innerSqlSessionFactory(@Qualifier("innerDataSource") DataSource dataSource) throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource);
sqlSessionFactoryBean.setMapperLocations(
new PathMatchingResourcePatternResolver().getResources("classpath:mapper/**/*.xml")
);
return sqlSessionFactoryBean.getObject();
}
// 연계 처리 결과 관리할 내부 DB 사용여부 결정 못함
@Bean(name = "innerSqlSessionTemplate")
public SqlSessionTemplate innerSqlSessionTemplate(@Qualifier("innerSqlSessionFactory") SqlSessionFactory innerSqlSessionFactory) {
return new SqlSessionTemplate(innerSqlSessionFactory);
}
// 연계 처리 결과 관리할 내부 DB 사용여부 결정 못함
@Bean(name = "innerTransactionManager")
public DataSourceTransactionManager innerTransactionManager(@Qualifier("innerDataSource") DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
// (수신 처리) 메시지 수신 - 저장 후 수신 메시지 처리 쓰레드 설정 // (수신 처리) 메시지 수신 - 저장 후 수신 메시지 처리 쓰레드 설정
@Bean(name = "dropBoxProcessorThreadPoolTaskExecutor") @Bean(name = "dropBoxProcessorThreadPoolTaskExecutor")
public Executor dropBoxProcessorThreadPoolTaskExecutor() { public Executor dropBoxProcessorThreadPoolTaskExecutor() {

@ -13,7 +13,7 @@ public class WebServerCustomizer implements WebServerFactoryCustomizer<Configura
private final AgentConfigReader agentConfigReader; private final AgentConfigReader agentConfigReader;
@Override @Override
public void customize(ConfigurableServletWebServerFactory factory) { public void customize(ConfigurableServletWebServerFactory factory) {
int port = agentConfigReader.getAgentConfigDto().getListenPort(); int port = agentConfigReader.getAgentConfigDto().getMyListenPort();
factory.setPort(port); factory.setPort(port);
factory.setContextPath("/"); factory.setContextPath("/");
} }

@ -3,7 +3,6 @@ package com.bsmlab.dfx.agent.listener;
import com.bsmlab.dfx.agent.listener.dto.AckDto; import com.bsmlab.dfx.agent.listener.dto.AckDto;
import com.bsmlab.dfx.agent.listener.service.ListenerService; import com.bsmlab.dfx.agent.listener.service.ListenerService;
import com.bsmlab.dfx.agent.support.ServletUtils; import com.bsmlab.dfx.agent.support.ServletUtils;
import com.bsmlab.dfx.agent.support.exception.IllegalMessageException;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.Part; import jakarta.servlet.http.Part;
@ -14,7 +13,6 @@ import org.springframework.web.bind.annotation.RestController;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import java.util.Iterator;
@Slf4j @Slf4j
@RestController @RestController
@ -37,7 +35,7 @@ public class ListenerController {
ackDto = listenerService.receiveMessage(bodyString); ackDto = listenerService.receiveMessage(bodyString);
} }
else if(contentType != null && contentType.contains("multipart/form-data")) { else if(contentType != null && contentType.contains("multipart/form-data")) {
//TODO 파일 전송인 경우 Multipart로 전송하며 파일의 메타데이터인 application/json 과 n개의 파일 본문인 File Multipart 를 합쳐서 전송한다. //파일 전송인 경우 Multipart로 전송하며 파일의 메타데이터인 application/json 과 n개의 파일 본문인 File Multipart 를 합쳐서 전송한다.
Collection<Part> parts = request.getParts(); Collection<Part> parts = request.getParts();
ackDto = listenerService.receiveFiles(parts); ackDto = listenerService.receiveFiles(parts);
} }

@ -33,14 +33,14 @@ public class MessageUtils {
} }
Map<String, Object> senderMap = (Map<String, Object>)map.get("sender"); Map<String, Object> senderMap = (Map<String, Object>)map.get("sender");
String senderHostId; String senderHostId;
if(senderMap.get("host-id") == null) { if(senderMap.get("hostId") == null) {
throw new InCompleteMessageException("sender.host-id 엘리먼트를 찾을 수 없습니다."); throw new InCompleteMessageException("sender.hostId 엘리먼트를 찾을 수 없습니다.");
} }
else if(StringUtils.isBlank(String.valueOf(senderMap.get("host-id")))) { else if(StringUtils.isBlank(String.valueOf(senderMap.get("hostId")))) {
throw new InCompleteMessageException("sender.host-id 값을 찾을 수 없습니다."); throw new InCompleteMessageException("sender.hostId 값을 찾을 수 없습니다.");
} }
else { else {
senderHostId = String.valueOf(senderMap.get("host-id")); senderHostId = String.valueOf(senderMap.get("hostId"));
} }
long senderTimestamp = 0; long senderTimestamp = 0;
if(senderMap.get("timestamp") == null) { if(senderMap.get("timestamp") == null) {
@ -58,19 +58,19 @@ public class MessageUtils {
} }
} }
String messageUuid; String messageUuid;
if(map.get("message-uuid") == null) { if(map.get("messageUuid") == null) {
throw new InCompleteMessageException("message-uuid 엘리먼트를 찾을 수 없습니다."); throw new InCompleteMessageException("messageUuid 엘리먼트를 찾을 수 없습니다.");
} }
else if(StringUtils.isBlank(String.valueOf(map.get("message-uuid")))) { else if(StringUtils.isBlank(String.valueOf(map.get("messageUuid")))) {
throw new InCompleteMessageException("message-uuid 값을 찾을 수 없습니다."); throw new InCompleteMessageException("messageUuid 값을 찾을 수 없습니다.");
} }
else { else {
messageUuid = String.valueOf(map.get("message-uuid")); messageUuid = String.valueOf(map.get("messageUuid"));
try { try {
UUID.fromString(messageUuid); UUID.fromString(messageUuid);
} }
catch (IllegalArgumentException e) { catch (IllegalArgumentException e) {
throw new InCompleteMessageException("message-uuid 값의 형식이 숫자형식이 아닙니다. " + messageUuid); throw new InCompleteMessageException("messageUuid 값의 형식이 숫자형식이 아닙니다. " + messageUuid);
} }
} }
long receivedTimestamp = System.currentTimeMillis(); long receivedTimestamp = System.currentTimeMillis();
@ -83,36 +83,36 @@ public class MessageUtils {
Map<String, Object> recipientMap = (Map<String, Object>)map.get("recipient"); Map<String, Object> recipientMap = (Map<String, Object>)map.get("recipient");
//TODO recipient //TODO recipient
String recipientHostId; String recipientHostId;
if(recipientMap.get("host-id") == null) { if(recipientMap.get("hostId") == null) {
throw new InCompleteMessageException("recipient.host-id 엘리먼트를 찾을 수 없습니다."); throw new InCompleteMessageException("recipient.hostId 엘리먼트를 찾을 수 없습니다.");
} }
else if(StringUtils.isBlank(String.valueOf(recipientMap.get("host-id")))) { else if(StringUtils.isBlank(String.valueOf(recipientMap.get("hostId")))) {
throw new InCompleteMessageException("recipient.host-id 값을 찾을 수 없습니다."); throw new InCompleteMessageException("recipient.hostId 값을 찾을 수 없습니다.");
} }
else { else {
recipientHostId = String.valueOf(recipientMap.get("host-id")); recipientHostId = String.valueOf(recipientMap.get("hostId"));
} }
String recipientDropBoxId; String recipientDropBoxId;
if(recipientMap.get("drop-box-id") == null) { if(recipientMap.get("dropBoxId") == null) {
throw new InCompleteMessageException("recipient.drop-box-id 엘리먼트를 찾을 수 없습니다."); throw new InCompleteMessageException("recipient.dropBoxId 엘리먼트를 찾을 수 없습니다.");
} }
else if(StringUtils.isBlank(String.valueOf(recipientMap.get("drop-box-id")))) { else if(StringUtils.isBlank(String.valueOf(recipientMap.get("dropBoxId")))) {
throw new InCompleteMessageException("recipient.drop-box-id 값을 찾을 수 없습니다."); throw new InCompleteMessageException("recipient.dropBoxId 값을 찾을 수 없습니다.");
} }
else { else {
recipientDropBoxId = String.valueOf(recipientMap.get("drop-box-id")); recipientDropBoxId = String.valueOf(recipientMap.get("dropBoxId"));
} }
AgentConfigDto.MessageType messageType; AgentConfigDto.MessageType messageType;
if(map.get("message-type") == null) { if(map.get("messageType") == null) {
throw new InCompleteMessageException("message-type 엘리먼트를 찾을 수 없습니다."); throw new InCompleteMessageException("messageType 엘리먼트를 찾을 수 없습니다.");
} }
else if(StringUtils.isBlank(String.valueOf(map.get("message-type")))) { else if(StringUtils.isBlank(String.valueOf(map.get("messageType")))) {
throw new InCompleteMessageException("message-type 값을 찾을 수 없습니다."); throw new InCompleteMessageException("messageType 값을 찾을 수 없습니다.");
} }
else { else {
String messageTypeString = String.valueOf(map.get("message-type")); String messageTypeString = String.valueOf(map.get("messageType"));
if(!EnumUtils.isValidEnum(AgentConfigDto.MessageType.class, messageTypeString)) { if(!EnumUtils.isValidEnum(AgentConfigDto.MessageType.class, messageTypeString)) {
throw new InCompleteMessageException("message-type 값이 옳바르지 않습니다. " + messageTypeString); throw new InCompleteMessageException("messageType 값이 옳바르지 않습니다. " + messageTypeString);
} }
messageType = EnumUtils.getEnum(AgentConfigDto.MessageType.class, messageTypeString); messageType = EnumUtils.getEnum(AgentConfigDto.MessageType.class, messageTypeString);
} }

@ -26,7 +26,6 @@ import org.springframework.web.client.RestTemplate;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.file.CopyOption;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.StandardCopyOption; import java.nio.file.StandardCopyOption;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@ -69,7 +68,7 @@ public class PostmanSchedulerService {
public void run(AgentConfigDto.Postman postman) { public void run(AgentConfigDto.Postman postman) {
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
String senderHostId = agentConfigReader.getAgentConfigDto().getHostId(); String senderHostId = agentConfigReader.getAgentConfigDto().getMyHostId();
long senderTimestamp = System.currentTimeMillis(); long senderTimestamp = System.currentTimeMillis();
String messageUuid = UUID.randomUUID().toString(); String messageUuid = UUID.randomUUID().toString();
// DB TO DB 전송 // DB TO DB 전송
@ -188,13 +187,6 @@ public class PostmanSchedulerService {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
} }
// Path startPath = Paths.get("C:/example"); // 시작 디렉토리 경로
//
// try (Stream<Path> stream = Files.walk(startPath)) {
// stream.filter(Files::isRegularFile)
// .forEach(System.out::println);
// }
} }
} }
} }

@ -1,18 +1,6 @@
spring: spring:
application: application:
name: DFX Agent name: DFX Agent
h2:
console:
enabled: true
path: /dfxagent-db-console
settings:
web-allow-others: true
datasource:
driverClassName: org.h2.Driver
#url: jdbc:h2:classpath:/storages/dfxagent
url: jdbc:h2:~/dfxagent
username: smbaek
password: qortpals1!
logging: logging:
level: level:
com.bsmlab.dfx.agent: DEBUG com.bsmlab.dfx.agent: DEBUG

Loading…
Cancel
Save