zoukankan      html  css  js  c++  java
  • 我爱java系列---【Feign调用时常见的几个问题】

    1.当接口过多时,我们需要分模块管理接口,但是几个feign接口中同时引入@FeignClient(“proxy”)的时候,项目无法启动。

    报错信息:

    Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
    2019-11-22 15:16:18 |ERROR |main |LoggingFailureAnalysisReporter.java:40 |
    
    ***************************
    APPLICATION FAILED TO START
    ***************************
    
    Description:
    
    The bean 'dbproxy1.FeignClientSpecification', defined in null, could not be registered. A bean with that name has already been defined in null and overriding is disabled.
    
    Action:
    
    Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true

    这时候只需要在yml文件中引入下面这段配置。

    spring:
      main:    allow
    -bean-definition-overriding: true

    2.当feign引入另一个接口中的接口信息时,本项目中的新开发的接口路径最好不要和feign中的一样,容易冲突,导致项目无法正常启动。

    feign中的接口:

     cotroller中的接口:

     3.当项目部署到服务器上时,服务注册到zookeeper注册中心的ip信息是域名,在feign调用时,可能无法根据应用名正常访问,这时候可以使用url属性直接调用服务,具体如下:

    @FeignClient(name="服务名",url="http://localhost:8080/web/cpManage")
    愿你走出半生,归来仍是少年!
  • 相关阅读:
    SpringBoot04-web
    springboot03-日志功能
    SpringBoot02-自动配置原理
    SpringBoot02
    SpringBoot01
    八大排序算法
    SpringSecurity04
    SpringSecurity03
    SpringSecurity02
    SpringSecurity01
  • 原文地址:https://www.cnblogs.com/hujunwei/p/11911951.html
Copyright © 2011-2022 走看看