반응형

springboot 13

[SpringBoot] UnexpectedRollbackException: Transaction silently rolled back because it has been marked as rollback-only 해결후기

목차 상황 1. 이벤트에 당첨된 경우 휴대폰번호를 입력하고 [쿠폰받기] 버튼을 누르면 쿠폰이 즉시 발송된다. 2. 근데 가끔씩 [쿠폰받기] 버튼이 눌린채로 아무런 반응이 없는 경우가 있다. (브라우저 자체가 멈춘다던가... 아무런 액션 없이 그냥 대기만 한다던가...) 3. 기다려도 응답이 없으니 사람들은 [쿠폰 안받기] 버튼을 누른다. 4. [쿠폰 안받기] 버튼을 누르면 당첨내역을 초기화시킨다. (다른사람에게 할당되어야하므로) 서버에 찍힌 로그는 아래와 같다. 2022-12-05 10:45:24 쿠폰받기 시작 2022-12-05 10:45:25 쿠폰안받기 시작 2022-12-05 10:45:25 쿠폰받기-쿠폰발송 성공 2022-12-05 10:45:26 쿠폰안받기 종료 2022-12-05 10:45:2..

🌿 Spring 2022.12.06

[SpringBoot] Jpa Connection Minimum-Idle 설정하지 말자... 에러 후기

한동안 DB에 커넥션에러가 발생했어서 maximum-pool-size를 설정주었는데 minimum-idle 셋팅도 있어서 같이 셋팅해주었었다. spring: datasource: hikari: ... minimum-idle: 5 maximum-pool-size: 10 그런데..... 처음보는 에러가 발생했다 HikariPool-1 - Connection is not available, request timed out after 45005ms. 오잉???? 이상하네 이 서버는 처음띄우는 서버가 아니라 이전에도 계속 돌아가고있었던 서버고, 사실 커넥션 에러가 날거였으면 요청이 더 많았을 때 에러가 났어야했는데.. 지금은 요청이 상대적으로 적은편인데 에러가 나서 의아해했다 여러가지 이유가 있었겠지만 단편적으로..

🌿 Spring 2022.12.04

[SpringBoot] Apache Poi를 이용한 엑셀다운로드는 SXSSF를 쓰자..!

목차 에러 발생!!!!!!!!!!!! https://lotuus.tistory.com/145 [SpringBoot] Apache Poi를 이용한 엑셀 다운로드 구현 목차 통계 API를 만들다보면 화면에도 값을 보여주어야하고, 엑셀 다운로드도 가능해야합니다 ㅎㅎ 대표적으로 사용되는 Apache Poi를 이용하여 엑셀 다운로드를 구현해보겠습니당! 예제 UserPoint En lotuus.tistory.com 예전에도 엑셀다운로드 게시글을 올렸었는데, 운영에서 갑자기 힙메모리가 부족하다며 Out Of Memory 에러가 발생했다..... 이유는 두가지였다 첫번째 ) 요청 중복 필터링 안함 화면에 보이는 엑셀 다운로드 버튼을 누르고, 실제 다운로드 창이 뜰때까지는 시간이 좀 걸린다 그런데 참을성 없는 분들이 기..

🌿 Spring 2022.12.03

Spring Jpa SelfJoin 순환참조 방지하며 다른 엔티티와 맵핑하기

목차 보통 셀프조인은 카테고리처럼 1차, 2차, 3차.... 무한정으로 늘어날 수 있을 때 사용되는데, 하나의 테이블로 모든 관계를 정의할 수 있어서 유용하게 쓰인다. 셀프조인 형태로 구현한 카테고리 엔티티와 메뉴 엔티티를 맵핑하고 Json을 내려주는 과정에서 어떻게 순환참조를 피할 수 있을까?? 예시데이터 카테고리 메뉴 내가 원하는 응답값 카테고리 { "message": "카테고리 정보를 조회하였습니다.", "data": { "id": 2, "categoryCode": "soup_stews", "categoryName": "찜_탕_찌개", "parent": { "id": 1, "categoryCode": "koreanfood", "categoryName": "한식", "parent": null, "ch..

🌿 Spring 2022.11.09

[SpringBoot] Apache Poi를 이용한 엑셀 다운로드 구현

목차 2022.12.03 내용 추가 아래 코드에서는 XSSFWorkbook을 사용하는데, 실제 운영서버에서 나는 Out Of Memory 에러를 경험했다. 편안한 주말을 보내고싶다면 꼭 반드시 아래 글을 읽어보고 SXSSFWorkbook을 사용하자. https://lotuus.tistory.com/153 [SpringBoot] Apache Poi를 이용한 엑셀다운로드는 SXSSF를 쓰자..! 목차 에러 발생!!!!!!!!!!!! https://lotuus.tistory.com/145 [SpringBoot] Apache Poi를 이용한 엑셀 다운로드 구현 목차 통계 API를 만들다보면 화면에도 값을 보여주어야하고, 엑셀 다운로드도 가능해야합니다 ㅎ lotuus.tistory.com 통계 API를 만들다보면..

🌿 Spring 2022.08.20

[Spring Boot] FeignClient와 ExceptionHandler | FeignClient의 응답값 그대로 반환하기

목차 프로젝트를 진행하다보니 FeignClient로 다른 서비스를 호출하는 일이 생겼는데, 자식서비스가 부모서비스에 FeignClient로 API호출 시 부모서비스에서 Exception이 터지면 그대로 자식서비스도 예외가 발생한다. 에러 응답포맷이 정해져있기 때문에 부모서비스의 에러메시지를 자식서비스에서도 그대로 반환해주면 어떨까?! 하고 생각했다 기존코드 application.yml feign 설정 부분만 가지고왔다 ... feign: parent-api: url: http://localhost:8081 httpclient: follow-redirects: true ... ExceptionController.java CustomException이 발생하면 해당 handler에서 처리하게된다 @RestC..

🌿 Spring 2022.07.29

CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(3)

CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(1) 빌드 배포 흐름 사전준비 AWS IAM 역할(Role) 설정 EC2CodeDeployRole 생성 CodeDeployRole 생성 AWS EC2 IAM 역할 수정 AWS IAM 사용자 추가 CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(2) AWS S3 버킷 생성 AWS CodeDeploy 생성 AWS EC2 접속하여 CodeDeploy Agent 설치 AWS EC2 Postgresql 설치 CircleCI로 SpringBoot+Postgresql 프로젝트 빌드 배포하기(3) 소스코드 수정 .circleci > config.yml파일 프로젝트폴더 > appspec.yml 프로젝트폴더 >..

🧰 DevOps 2022.03.18
반응형