[SpringBoot] war 배포
·
IT/Spring
2018년 초가을 대전에서 모 프로젝트를 진행했을 때, 고객님께서 무조건 톰캣에 war로 배포를 해달라는 요청이 있었습니다. 프로젝트 막판까지 개발은 SpringBoot로 개발하고 Jar 배포로 다 합의된 사항이었지만.. 마지막에 고객님의 강력한 요구로 war로 묶어서 톰캣에 올렸던 추억을 생각하면서 어떤 부분을 고쳐야 war로 묶을 수 있는지 보겠습니다. pom.xml 에서 jar 부분을 war 로 변경을 해줍니다. war로 패키징 한 후에 톰캣에 올라갈 수 있게 spring-boot-starter-tomcat 을 추가해줍니다. org.springframework.boot spring-boot-starter-tomcat provided 그러고 나서 Build 부분에 finalName 추가해 줍니다. d..
[SpringBoot] 파일 다운로드
·
IT/Spring
VideoRestController.java @GetMapping(value = "/{videoId}/download", produces = MediaType.APPLICATION_JSON_VALUE) public StreamingResponseBody findVideoFileDownload(@PathVariable(name="videoId") String videoId,HttpServletResponse response) throws FileNotFoundException { // TODO Auto-generated method stub return this.videoServiceImpl.findVideoFileDownload(videoId, response); } VideoService.java pu..
[구성] 마이크로서비스 아키텍쳐 구성요소
·
IT/Microservice
구성요소 설명 Git repository 소스 관리 및 프로파일 관리 설정서버(Config server) Git 저장소에 등록된 프로파일 연계 유레카 서버(Eureka Server) 마이크로서비스 register, discovery 줄 서버(Zuul Server) 마이크로서비스 부하 분산 및 서비스 라우팅 (API GateWay) ELK 로그 분석 큐잉 시스템 (Queueing System) 서비스 간 메세지 발행 및 구독 (Kafak Or Rabbit MQ) 터빈 서버 (Turbin Server) 마이크로서비스의 스트림 데이터 수집 히스트릭 대시보드 (Hystrix Dashboard) 스트림 데이터 모니터링 및 시각화 집킨 (Zipkin) 분산 트렌젝션이랑 여러개의 서비스를 걸쳐서 이루어 지는 트렌젝션..
[JPA] JPA Auditing
·
IT/Spring
엔티티에는 보통 해당 데이터의 생성,수정 시간이 포함한다. 예를 들어 새로운 회원이 언제 가입했는지, 그리고 로그인을 마지막으로 언제 했는지를 알기 위해서도 필요한 부분이다. 그럴 때 이제 엔티티마다 날짜 데이터를 등록/수정 하는 코드를 추가하게 되는데, 이럴 때마다 코드는 반복되고, 결국엔 지저분 해지는 결과를 초래한다. 이러한 문제를 해결하는 방법은 뭐가 있을까? 바로 "JPA Auditing" 이다. 1. BaseTimeEntity 만들고, @EntityListeners 을 통해 BaseTimeEntity 클래스가 Auditing 기능을 쓸 수 있도록 만든다. package com.incheol.app.domain.post; import java.time.LocalDateTime; import ja..