国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解Spring Cloud Feign 熔斷配置的一些小坑

詳解Spring Cloud Feign 熔斷配置的一些小坑

2021-04-23 11:35FutureElement Java教程

這篇文章主要介紹了詳解Spring Cloud Feign 熔斷配置的一些小坑,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1.在使用feign做服務調用時,使用繼承的方式調用服務,加入hystrix的熔斷處理fallback配置時,會報錯,已解決。 2.使用feign默認配置,熔斷不生效,已解決。

最近在做微服務的學習,發現在使用feign做服務調用時,使用繼承的方式調用服務,加入hystrix的熔斷處理fallback配置時,會報錯,代碼如下:

?
1
2
3
4
5
6
7
8
9
@requestmapping("/demo/api")
public interface helloapi {
 
  @getmapping("user/{id}")
  user getuserbyid(@pathvariable("id") long id);
 
  @getmapping("hello")
  string echo(@requestparam("name") string name);
}
?
1
2
3
4
@feignclient(value = "ms-server", fallback = consumerfeignservicefallback.class)
public interface consumerfeignservice extends helloapi {
 
}
?
1
2
3
4
5
6
7
8
9
10
11
12
@component
public class consumerfeignservicefallback implements consumerfeignservice {
  @override
  public user getuserbyid(long id) {
    return new user();
  }
 
  @override
  public string echo(string name) {
    return "echo error: " + name;
  }
}

報錯如下:

caused by: java.lang.illegalstateexception: ambiguous mapping. cannot map 'com.thoughtworks.demo.consumer.service.consumerfeignservice' method
public abstract java.lang.string com.thoughtworks.demo.api.helloapi.echo(java.lang.string)
to {[/demo/api/hello],methods=[get]}: there is already 'consumerfeignservicefallback' bean method
public java.lang.string com.thoughtworks.demo.consumer.service.consumerfeignservicefallback.echo(java.lang.string) mapped.
 at org.springframework.web.servlet.handler.abstracthandlermethodmapping$mappingregistry.assertuniquemethodmapping(abstracthandlermethodmapping.java:576) ~[spring-webmvc-4.3.14.release.jar:4.3.14.release]
 at org.springframework.web.servlet.handler.abstracthandlermethodmapping$mappingregistry.register(abstracthandlermethodmapping.java:540) ~[spring-webmvc-4.3.14.release.jar:4.3.14.release]
 at org.springframework.web.servlet.handler.abstracthandlermethodmapping.registerhandlermethod(abstracthandlermethodmapping.java:264) ~[spring-webmvc-4.3.14.release.jar:4.3.14.release]
 at org.springframework.web.servlet.handler.abstracthandlermethodmapping.detecthandlermethods(abstracthandlermethodmapping.java:250) ~[spring-webmvc-4.3.14.release.jar:4.3.14.release]
 at org.springframework.web.servlet.handler.abstracthandlermethodmapping.inithandlermethods(abstracthandlermethodmapping.java:214) ~[spring-webmvc-4.3.14.release.jar:4.3.14.release]
 at org.springframework.web.servlet.handler.abstracthandlermethodmapping.afterpropertiesset(abstracthandlermethodmapping.java:184) ~[spring-webmvc-4.3.14.release.jar:4.3.14.release]
 at org.springframework.web.servlet.mvc.method.annotation.requestmappinghandlermapping.afterpropertiesset(requestmappinghandlermapping.java:127) ~[spring-webmvc-4.3.14.release.jar:4.3.14.release]
 at org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.invokeinitmethods(abstractautowirecapablebeanfactory.java:1687) ~[spring-beans-4.3.14.release.jar:4.3.14.release]
 at org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1624) ~[spring-beans-4.3.14.release.jar:4.3.14.release]
 ... 21 common frames omitted

錯誤原因是這里繼承的接口類是一個controller接口,繼承時會繼承到父類的

?
1
@requestmapping("/demo/api")

springmvc在做mapping映射的時候發現consumerfeignservice和consumerfeignservicefallback的mapping重復了,所以拋出異常,如何解決呢?

解決的方法有2個:

一是更改consumerfeignservicefallback的mapping配置,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
@component
@requestmapping("fallback/demo/api")
public class consumerfeignservicefallback implements consumerfeignservice {
  @override
  public user getuserbyid(long id) {
    return new user();
  }
 
  @override
  public string echo(string name) {
    return "echo error: " + name;
  }
}

二是使用fallbackfactory,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@component
public class consumerfeignservicefallback implements fallbackfactory<consumerfeignservice> {
 
  @override
  public consumerfeignservice create(throwable cause) {
    return new consumerfeignservice() {
      @override
      public user getuserbyid(long id) {
        return new user();
      }
 
      @override
      public string echo(string name) {
        return "echo error: " + name;
      }
    };
  }
}

運行后,關閉服務提供者,發現熔斷并沒有生效,沒有像單獨使用@hystrixcommand時進入fallback方法,查了很多方式,發現原來是feign的hystix的配置開關沒有打開

解決方法,在application.yml中增加配置如下:

?
1
2
3
feign:
 hystrix:
  enabled: true

在intellij idea里也沒有這個配置的提示,還報告警告,不知道算不算是個bug,這里我使用的版本是

?
1
2
springbootversion = '1.5.10.release'
springcloudversion = 'edgware.sr3'

以上就是我在使用feign時發現的一些小坑,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://my.oschina.net/u/1758970/blog/1798279

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 高清av一区 | 中文久久久久 | 午夜视频在线免费观看 | 中文字幕国产一区 | 欧美综合网 | 狠狠色综合网站久久久久久久 | 亚洲精品久久久久久下一站 | 久久国产精品偷 | 欧美日韩一区在线 | 欧美日韩精品免费 | 欧美日韩精品一区 | 992人人tv香蕉国产精品 | 久久九九这里只有精品 | 国产视频福利 | 国产一区视频观看 | t66y最新地址一地址二69 | 玖玖爱视频在线 | 欧美综合久久 | 国产99久久精品一区二区永久免费 | 天天摸天天操 | 99热在线播放 | 成人午夜在线观看 | 视频一区中文字幕 | 黄色毛片在线视频 | 久久国产免费 | 正在播放国产一区 | 免费亚洲婷婷 | 欧美日一区二区 | 日韩中文字幕在线观看 | 国产91对白叫床清晰播放 | 动漫羞免费网站中文字幕 | 色a视频| 高清三区 | 日韩无在线 | 中文字幕日韩欧美 | 超碰综合 | 国产激情在线观看 | 欧美中文字幕一区 | 欧美日韩在线视频观看 | 婷婷久久久 | 国产精品久久久久久亚洲调教 |