Spring Cloud Config 기능 중 하나인 @RefreshScope 는 config 파일의 데이터가 변경되면 서버를 재실행 해주는 기능이다. @RefreshScope 를 사용하기 위해서는 build.gradle 소스에 Spring CLoud Config 설정과 maven 설정이 필요하다. ext { set('springCloudVersion', "Hoxton.SR3") set('mavenUser', "jane") set('mavenPassword', "jane_2020") set('nexusRepo', "https://nexus.gyurida.shop/repository") } repositories { mavenCentral() maven { url "$nexusRepo/maven-releas..
로직 : 자바에서 JSON을 csv 파일로 만든 다음 zip 아카이브 파일로 압축하여 다운로드 * 이 때, 임시로 /tmp/ 디렉터리에 csv 파일과 zip 파일을 생성하여 response에 zip 파일을 내려준 후, 임시 디렉터리에 생성된 csv 파일과 zip 파일을 일정 시간 뒤에 삭제한다. csv 파일 다운로드 컨트롤러 작성 @ApiOperation(value = "로그 리스트 전체 다운로드") @GetMapping(value = "/download", produces = {MediaType.APPLICATION_JSON_VALUE}) public ResponseEntity downloadUpdateLog(String uuid) throws Exception { String fileName = uu..
Greengrass 코어 기기에서 AWS IoT 와 연결하기 위해서는 AWS Root CA 가 필요한데, AWS Root CA 를 서버에서 내려주기 위해서 아래와 같이 코드를 작성하였다. String awsRootCa = ""; try { URL url = new URL("https://www.amazontrust.com/repository/AmazonRootCA1.pem"); InputStream in = url.openStream(); byte[] buffer = new byte[128]; int readCount = 0; StringBuilder result = new StringBuilder(); while((readCount = in.read(buffer)) != -1) { String part..
Java 에서 "2020-11-05T07:18:13.906Z" 처럼 되어 있는 타임스탬프를 비교하기 위해 사용할 수 있는 Java 8 에서 제공되는 API 가 있다. LocalDateTime 에서는 아래와 같은 메소드를 이용해 두 개의 date 값을 비교할 수 있다. isBefore() : 인자보다 과거일 때 true가 리턴 isAfter() : 인자보다 미래일 때 true가 리턴 isEqual() : 인자와 같은 시간일 때 true가 리턴 예제) public void compareTimestamp() throws ParseException { String timestamp1 = "2020-07-14T06:05:10.452Z"; timestamp1 = timestamp1.substring(0, times..