일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 포인트클라우드
- 배달로봇
- 딥러닝
- 프로그래머스
- persistance context
- 디자인패턴
- Java
- 네트워크
- 자바
- 자바ORM표준JPA프로그래밍
- 논문리뷰
- DeepLearning
- Hibernate
- 운영체제
- Jetson
- 장애물인식
- JPA
- Python
- 논문
- cartograhper
- 이펙티브자바
- 아두이노
- MySQL
- 파이썬
- 알고리즘
- Database
- 영속성컨텍스트
- 자율주행
- Spring Batch
- 자료구조
- Today
- Total
목록spring boot (2)
제리 devlog
서버를 운영하다 보면 hikari connection과 관련된 에러를 겪게 된다. 은근히 놓치기 쉽고 빈번하게 발생 가능한 부분이라 정리를 해보려고 한다. connection 관련 문제는 보통 아래의 에러 메시지와 함께 문제가 발생한다. - org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction - Unable to acquire JDBC Connection - HikariPool-1 - Connection is not available, request timed out after 3005ms. - o.h.engine.jdbc.spi.SqlException..
Spring 프레임 워크에서 제공하는 캐시는 추상화가 잘되어있고 여러 어노테이션(@Cacheable, @CacheEvict..)을 사용해서 간단히 사용하기 편하다. 다만, 내가 redis를 구현체로 사용하면서 느꼈던 불편함은 캐시의 만료시간을 설정하기 까다롭다는 점이다. 우선, spring에서 제공하는 @Cacheable, @CachePut 등의 어노테이션으로는 만료시간을 설정하는 옵션이 없다. 기본적으로는 만료 시간이 없게 캐시가 저장되기때문에 필요하다면 캐시를 명시적으로 제거해주거나 업데이트해줘야 한다. 만료 시간만 설정되면 되는데 캐시를 컨트롤해줘야 하는 로직이 불필요하게 코드 안에 섞이는 건 부담스러웠다. 그렇다고 만료기간을 설정할 방법이 없는 건 아니다. 첫 번째 방법으로, cachemanger..