FeignClient註解及引數

2021-10-25 09:54:35 字數 3062 閱讀 2741

一、feignclient註解

feignclient註解被@target(elementtype.type)修飾,表示feignclient註解的作用目標在介面上

@feignclient(name ="github-client", url ="", configuration = githubexampleconfig.class)

publicinte***cegithubclient

宣告介面之後,在**中通過@resource注入之後即可使用。@feignclient標籤的常用屬性如下:

@feignclient(name ="github-client",

url ="",

configuration = githubexampleconfig.class,

fallback = githubclient.defaultfallback.class)

publicinte***cegithubclient

}

}

在使用fallback屬性時,需要使用@component註解,保證fallback類被spring容器掃瞄到,githubexampleconfig內容如下:

那麼會返回 404。

如果不包含accept header時請求,則是ok:

三、feign請求超時問題

hystrix預設的超時時間是1秒,如果超過這個時間尚未響應,將會進入fallback**。而首次請求往往會比較慢(因為spring的懶載入機制,要例項化一些類),這個響應時間可能就大於1秒了

解決方案有三種,以feign為例。

方法一hystrix.command.default.execution.isolation.thread.timeoutinmilliseconds: 5000

該配置是讓hystrix的超時時間改為5秒

方法二hystrix.command.default.execution.timeout.enabled: false

該配置,用於禁用hystrix的超時時間

方法三feign.hystrix.enabled: false

該配置,用於索性禁用feign的hystrix。該做法除非一些特殊場景,不推薦使用。

參見:

FeignClient註解屬性

feignclient value run product fallback productclientservicefallback.class feignclient name runclient url localhost 8001 public inte ce productclientse...

FeignClient註解詳解

spring cloud 是目前最火的微服務框架,feign 作為基礎元件之一,在 spring cloud 體系中發揮了重要的作用。一 feignclient註解 feignclient註解被 target elementtype.type 修飾,表示feignclient註解的作用目標在介面上 ...

關於FeignClient註解的使用,部署訪問

近來關於feignclient的使用,按理說應該現在已經是很成熟了,但目前仍然會有人有一些疑惑,就想從自己的角度去把這個如何使用做個介紹 從四個角度,了解feginclient是什麼,主要用於做什麼的,如何使用這個,如何部署訪問到 首先關於feginclient註解,主要是用於服務間進行呼叫,作用在...