일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 오라클
- PL/SQL
- Intellj
- retry
- 운영체제
- JPA
- 알고리즘
- MST
- 코딩
- 쿼리
- feign
- Spring Cloud
- DP
- MVC
- Jenkins
- 데이터베이스
- 페이징
- SQL
- 자료구조
- Spring
- 클라우드
- 백준
- db
- Spring Cloud Feign
- aws
- 자바
- Spring Boot
- 디자인 패턴
- golang
- Kafka
- Today
- Total
목록전체 글 (141)
justgo_developer
개요 Legacy를 MSA로 전환 중인데 모든 API를 Feign을 이용하여 전환하려고 개발중이다. Response Header를 가져와야 하는 경우도 있고, Http Status를 가져와서 처리해야 하는 경우도 있다. Feign은 Response 객체를 제공하고 있어 이 객체로 리턴 타입을 설정하면 가져 올 수 있는데 Response에 다른 값들도 존재하고 있어 한번 살펴보려고 한다. 상세 Feign.Response 객체를 FeignClient Interface 리턴 값으로 지정만 해주면 Response 객체에서 내가 원하는 HTTP Status, Header를 가져와 처리 할 수 있다. @FeignClient(name = "kakao-open-api", url = "https://dapi.kakao...
문제 Legacy를 MSA로 전환 중 특정 큐를 읽은 후 삭제하는 로직이 있었는데, 해당 API는 POST 방식의 HTTP 요청이지만 빈 body로 요청을 하는 경우였다. 하지만, 그 경우 Feign Client로 호출시 411 "Length Required" 에러가 발생하였다. Content-Length: 0으로 헤더를 세팅해도 동일. 해결방법 body에 빈 스트링을 줘서 처리 함 Feign Client에서 제공하는 Feign 종류는 Default, ApacheHttpClient, OkHttpClient 3가지가 있음. Default는 기본으로 Empty body여도 뭔가를 생성하는 Feign Client 버그인거 같다. 따라서 ApacheHttpClient, OkHttpClient 둘중 하나를 사용하..
Spring Cloud Feign retry customize 기본적으로 Spring Cloud Feign retry 대상은 IO Exception이다. IO Exception이란 입출력 동작 실패 또는 인터럽트 시 발생하는 Exception ErrorDecoder 인터페이스를 직접 구현하여 에러 코드별로 처리 할수 있다. retry 대상이 아닌 에러 코드를 retry 처리 하려면 아래와 같이 해당 코드에 RetryableException 예외를 발생시켜주면 된다. yml 설정에 feign.client.config.feignName.errorDecoder에 ErrorDecoder 인터페이스를 직접 구현한 클래스 경로를 추가해준다. package com.study.springcloud; import fei..