Developer/Spring

들어가며 안녕하세요~! 오늘은 MSA 환경에서 추적을 용이하게 하기 위한, 라이브러리를 알아보도록 해볼텐데요. 과거에 Spring cloud sleuth 로 유명했었던 라이브러리 이지만, 아쉽게도 Spring Boot 2.x 버젼을 마지막으로 지원을 중단하고, Micrometer Tracing 로 옮기게 된 라이브러리입니다. https://github.com/spring-cloud/spring-cloud-sleuth GitHub - spring-cloud/spring-cloud-sleuth: Distributed tracing for spring cloud Distributed tracing for spring cloud. Contribute to spring-cloud/spring-cloud-sleut..
들어가며 안녕하세요~! 오늘은 Spring 관련한 게시글로 찾아뵙게 되었네요 Spring 개발자라면 가장 많이 사용하게 되는 어노테이션인 Transactional 을 사용할 시 주의점에 대해 소개해드리고자 합니다 Spring Transactional Spring 에서는 PlatformTransactionManager 이라는 클래스가 Transaction 들을 관리해주는 역할을 가지고 있습니다. 작성한 코드가 정상적으로 가동한다면 큰 이상 없이 commit 을 하게 되고, 만일 예외가 발생하는 사항이 발생한다면 rollback 을 mark 하여 Transaction 을 commit 하지 않게 됩니다. 그럼 어떠한 매커니즘으로 Transaction 을 관리하게 될까요? @Transactional 어노테이션을..
안녕하세요~! 이전에 Coroutine 에 대한 기본 개념들을 알아보았죠이제 학습했던 Coroutine 기본 지식들을 기반으로 Spring Webflux 에 접목시킬 시간인데요.어떻게 Spring Webflux 에서는 Coroutine 을 접목시켰는지 코드를 보면서 연결 포인트들을 알아보려고 합니다. 혹시나 Coroutine 에 익숙하지 않거나 개념을 모르신다면 아래 게시글을 참조해주세요 ^-^https://huisam.tistory.com/entry/coroutine2 [Kotlin] Coroutine - 2. CoroutineScope & Context & Dispathcer 을 파헤쳐보자Coroutine 이전 시간에는 코루틴의 동작원리와 동시성 과 병렬성 의 차이에 대해 알아보았습니다. https:..
들어가며 안녕하세요~! ㅎㅎ JPA 를 사용하면서 개발하던 도중에, 필요한 컬럼들에 대해서만 쿼리를 만들면 db 에 performance 성능향상이 이루어지지 않을까? 하는 의문심에 JPA 의 query statement 의 생성방식에 대하여 공부하고 있었는데요. 왜냐하면 불필요한 컬럼까지 update 하는 경우, index 걸린 column 같은 경우에는 성능에 악영향이 있기 때문입니다. 그래서 document 를 찾고 찾다보니 JPA 에서는 update / insert statement 를 만들어줄 때 statement 자체를 caching 하여 항상 일관된 query 문을 제공한다고 하는데요. 오늘은 JPA Hibernate 를 사용하면서 의문이 들었던 Query statement caching 이..
Spring Integration Test안녕하세요 ㅎㅎ오랜만에 찾아 왔네요.오늘은 많은 분들이 Spring 을 처음 시작하시고, 여러가지 테스트를 작성할 때 많은 어려움을 겪을 때가 많습니다.단위테스트는 쉽게 작성해주시지만,Spring Context 가 올라가는 @SpringBootTest 를 활용한 IntegrationTest 를 작성할 때 부터는 많은 어려움들이 있는데요. 오늘은 IntegrationTest 를 작성할 때 많이 쓰이는 모든 것들에 대해 알아보도록 하겠습니다.Integration Test우선은 IntegrationTest 가 무엇이고 어떤 것인지 보겠습니다.IntegrationTest 는 Unit Test(단위테스트) 보다는 조금 더 리얼 환경에 가까운 테스트로,배포되는 서버를 기준으..
Apache Http Client5 비동기 I/O 처리가 가능한 Apache 의 새로운 Client 에 대해 알아보자 🔌 Apache Client4 우리가 일반적으로 사용하는 Client 는 대부분 동기 방식의 client 인 4.5.3 Version을 사용하고 있어요 👋 가장 오랫동안 Java 진영에서 okHttp 와 함께 군림하고 있는 Client 라이브러리 중의 하나죠! 하지만, 이제는 기술이 많이 발전하여 동기 방식보다는 비동기 방식을 지원하는 라이브러리도 많아졌고, 점점 비동기가 가능한 라이브러리로 넘어가고 있죠. 그에 따라서 우리도 새로운 Client 에 대해 알아보려고 합니다ㅎㅎ 자 가보실까요.? 새로운 Apache Client5 비동기 처리가 가능한 Client5 가 새로나왔습니다! 👏👏 ..