#spring-boot #spring-cloud-feign #feign #retry-logic
Вопрос:
Я получаю приведенную ниже ошибку при использовании имитатора повторения. Я использую
io.github.openfeign.притворное ядро -> v10.10.1
io.github.openfeign.притворство-истрикс -> v10.10.1
io.github.openfeign.притворная форма -> v3.8.0
Ошибка притворного повторителя — Не найден конвертер, способный к преобразованию из типа [java.lang.Строка] для ввода [java.lang.КлассРетранслятор>]
У меня есть следующая конфигурация в моем приложении yml.
feign:
client:
config:
default:
connectTimeout: 60000000
readTimeout: 60000000
client-service:
error-decoder: testservice.exception.FeignClientErrorDecoder
retryer: testservice.exception.FeignClientRetryer
Не удалось привязать свойства в разделе «притворяйся.клиент.конфигурация.клиент-служба.повторитель» к java.lang.КлассРетранслятор>:
Property: feign.client.config.client-service.retryer
Value: testservice.exception.FeignClientRetryer
Origin: class path resource [application.yml]:56:18
Reason: No converter found capable of converting from type [java.lang.String] to type [java.lang.Class<feign.Retryer>]
Экшен:
Обновите конфигурацию вашего приложения
С наилучшими пожеланиями, Руководство
Комментарии:
1. Для этого я следовал приведенной ниже статье: medium.com/swlh/…
Ответ №1:
Предварительное условие для того, чтобы ваш код выполнялся как есть:
FeignClientRetryer
должно осуществлятьсяfeign.Retryer
FeignClientRetryer
должно быть@Component
, стереотип на первом месте в классе.@FeignClient
следовало быvalue="client-service"
Если он все еще не запускается, то вы можете попробовать это:
- Удалить
@Component
изFeignClientRetryer
- Определите класс конфигурации:
public class ClientServiceFeignConfig{
@Bean
public Retryer clientServiceRetryer(){
return new FeignClientRetryer();
}
}
- И, в довершение
client-service
всего , добавьте:
@FeignClient(value="client-service", configuration = ClientServiceFeignConfig.class)