Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.2K
Views
@EnableFeignClients y @FeignClient fallan en Autowiring 'FeignContext' NoSuchBeanException

El microservicio que estoy escribiendo necesita comunicarse con otros microservicios en nuestra plataforma. En ese intento, la solución ideal para nosotros es Spring Cloud Netflix Feign , implementando un @FeignClient .

Sin embargo, me enfrento a la siguiente excepción cuando pruebo un @Autowired ReviewProvider :

excepción (causa)

 Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.cloud.netflix.feign.FeignContext' available at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:353) at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:351) at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:340) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1093) at org.springframework.cloud.netflix.feign.FeignClientFactoryBean.getObject(FeignClientFactoryBean.java:155) at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:168)

ReviewProvider.java

 @FeignClient("http://metadata-reviews") public interface ReviewProvider { @RequestMapping(path = "sessions", method = POST) ReviewSessionDTO createSession(); }

ReviewProvider.java

 @RunWith(SpringRunner.class) @ActiveProfiles(INTEGRATION) @ContextConfiguration(classes = AppEntry.class) @AutoConfigureTestDatabase(replace = Replace.NONE) @DataJpaTest public class ReviewProviderTest { @Autowired private ReviewProvider provider; private Class<? extends ReviewProvider> providerClass; @Before public void setup() { providerClass = provider.getClass(); } @Test public void classAnnotations() { assertTrue(providerClass.isAnnotationPresent(FeignClient.class)); assertEquals("http://metadata-reviews", providerClass.getAnnotation(FeignClient.class).value()); } @Test public void createSession() throws Exception { final Method method = providerClass.getDeclaredMethod("createSession"); assertTrue(method.isAnnotationPresent(RequestMapping.class)); final RequestMapping mapping = method.getAnnotation(RequestMapping.class); assertEquals("sessions", mapping.path()); assertEquals(0, method.getParameters().toString()); } }
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Parece que todavía no hay nada sobre la solución a este problema...

Esto es lo que hice para resolver esto:

  1. Agregue esta anotación a su clase de prueba:

    @ImportAutoConfiguration({RibbonAutoConfiguration.class, FeignRibbonClientAutoConfiguration.class, FeignAutoConfiguration.class})

Pruébelo, si no funciona, es posible que necesite la anotación @EnableFeignClients en la configuración de su programa principal

over 4 years ago · Santiago Trujillo Report

0

El enfoque recomendado es dividir la configuración de la aplicación , lo que significa que debe eliminar @EnableFeignClients de SpringBootApplication .

y agregue una clase de configuración dedicada:

 @Configuration @EnableFeignClients public class CloudConfiguration { }

Esto es obligatorio porque todas las anotaciones de sectores (como @WebMvcTest) incluyen la configuración predeterminada de SpringBootApplication .

Referencia:

  • https://github.com/spring-projects/spring-boot/issues/7270
  • https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#test-auto-configuration
over 4 years ago · Santiago Trujillo Report

0

Resolví este problema simplemente con la anotación @EnableAutoConfiguration en mi clase

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!