Tag: java

0

Spring Boot 3rd-party (Sentry + DataDog + Vault) integration 2. DataDog 연동

예제 코드는 Github repository에서 확인 가능합니다. DataDog과 Spring Boot를 연동하는 방법이 여러가지가 있겠지만 이 예제에서는 Spring Boot Metrics를 사용하여 DataDog과 연동하는 방법에 대해 알아보도록 하겠다. (DataDog 계정이 이미 있다는 가정하에 진행하도록 하겠다.) DataDog SecretDat

0

Spring Boot 3rd-party (Sentry + DataDog + Vault) integration 1. Sentry 연동

예제 코드는 Github repository에서 확인 가능합니다. Sentry를 Java project에 연동하는 방식이 여러가지 있겠지만 여기서는 Logback과 통합해서 쓰는 식으로 진행하도록 하겠다. (Sentry 계정이 있다는 가정하에 진행하도록 하겠다.) Sentry 프로젝트 생성먼저 특정 애플리케이션을 위한 Sentry Project를 새로 생

0

빌드 시 JAVA_HOME 변경하지 않고 JDK 버전 변경하기

토이 프로젝트를 진행 중인데 이때 아니면 언제 써보겠나 해서 java 11 버전을 사용하고 있다.(제대로 Java 11의 기능을 못쓰는게 문제지만…) 개발하고, 테스트코드 짜고, 로컬에서 돌려서 수동 테스트하고…프로젝트가 어느정도 진행이 되서 빌드를 하려고 했는데 BUILD FAILURE가 뜨는 것이었다… 처음엔 IntelliJ에서 JDK 설정이 문제인가

0

RestTemplate으로 multipart file 전송 시 발생하는 HttpMessageConversionException

현재 진행 중인 프로젝트가 API 서버에 여러번 요청을 보내야 하나의 데이터가 생성되고 저장된다.단순히 여러 요청을 보내면 수작업으로 일일이 요청을 보내는 것이 오히려 자동화를 하면서 드는 공수보다 적게 들 것이지만이전 요청의 응답값이 다음 요청에 사용되기 때문에 그점이 번거로워 간단한 웹앱을 만들기로 했다.(Postman을 통해 따로 만들고 말고 할 것도

0

FileInput/OutputStream과 Finalizer, 그리고 메모리 leak에 대하여

프로젝트를 진행하면서 서버의 메모리 누수 측정을 하면서 겪은 일에 대해 정리하고자한다. 문제의 시작은, 서버에서 프로세스 메모리를 측정했을 때 발견되는 지속적인 메모리 증가였다.문제의 원인을 확인하기 위해 힙 덤프를 떠서 MAT으로Leak Suspects를 확인할 때 마다 가장 넓은 파이의 메모리가 자꾸 늘어나는 것이었다. (지금은 찔끔이지만 시간이 지나

0

스프링 이벤트 3 - 이벤트 부가 기능 적용

아래 예제는 github에 소스를 올려놓았습니다. 1. 순서 적용순차적으로 진행되는 메서드의 경우 그 순서를 알 수 있지만 이벤트 리스너의 경우 정해진 순서를 알 수가 없다.(기본적으로 어떤 순서로 이벤트 리스너가 등록되는지는 더 찾아봐야할 것 같다.)하지만 @Order 어노테이션을 통해 순서를 명시적으로 지정해 줄 수 있다.아래는 EventListene

0

스프링 이벤트 2 - 이벤트 기능 적용

아래 예제는 github에 소스를 올려놓았습니다. 이제 본격적으로 스프링의 이벤트 기능을 적용해보자. 이벤트 기능을 적용하기 위해서는 이벤트를 생성하고 발급하는 publisher가 필요하고 발급된 이벤트를 리스닝하는 event listener를 설정해야한다. 주문 이벤트 생성 주문 이벤트는 단순하게 주문(Order)만을 가진 VO 객체로 만들자. 12

0

스프링 이벤트 1 - 프로젝트 세팅

아래 예제는 github에 소스를 올려놓았습니다. 일단 본격적인 스프링 이벤트에 알아보기에 앞서 주문 기능이 있는 프로젝트를 세팅해보자. 프로젝트 생성을 위해 Spring Initializr를 통해 아무런 dependency를 추가하지 않은 Spring Boot 프로젝트를 생성한다.본인의 경우 최신 RELEASE 버전인 2.1.5 버전을 사용하였다. ※