completablefuture2 [spring] Stream, Future 사용시 주의해야 할 점 (커넥션 풀이 남는 이슈) Stream, Future 사용시 주의해야 할 점 (커넥션 풀이 남는 이슈) 얼마 전 코드에서 Stream 을 수행하면서 그 안에 DB 를 조회해서 데이터를 가져오는 로직이 있었는데, 트래픽이 많은데도 불구하고, 커넥션을 다 사용하지 못했다. 환경과 증상은 이러했다. 서버는 spring boot의 Hikari Connection Pool 사용함 min, max connection은 동일하게 20개로 설정 하지만 APM으로 확인 시, 실제 사용되는 커넥션은 9개였고, 노는(idle) 커넥션이 11개정도 였다. 트래픽이 몰리는 순간에도 hikaricp_connections_acquire_seconds_sum, hikaricp_connections_pending 수치만 증가할 뿐 idle 커넥션은 일정하게 8.. 2024. 1. 12. [JAVA] CompletableFuture - 예제1 CompletableFuture 비동기 처리를 위해 JAVA 5에서 Concurrenty API의 Executor, Future, Callable이 등장 했지만 non-blocking 하지 않았다. 이걸 개선하려 Spring framework 4에서는 Future Interface를 개선한 ListenableFuture를 등장 시켰고, AsyncRestTemplate의 Return Type으로 이용 되었다. 이후 JAVA 8의 가장 큰 특징인 lambda와 functinal interface와 결합 된 CompletableFuture가 등장하면서 non-blocking 처리가 쉬워졌다. Spring의 ListenableFuture과 JAVA 8의 CompletableFuture 비교 아래 예제는 JAVA.. 2020. 5. 21. 이전 1 다음