@feignclient名字沖突的解決方案
@feignclient名字沖突
在啟動springcloud項目是遇到
Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true
這樣一個異常
經(jīng)過研究,解決方法如下
1、在配置文件中增加配置
spring.main.allow-bean-definition-overriding=true
2、在feignclient注解中加個字段,紅色部分
@FeignClient(value = “provider-demo3-ribbon”, path = “/dev”, contextId=“tt1”)
@FeignClient同一個name,多個配置類
我使用的spring-cloud-starter-openfeign的版本是2.0.0,然后使用@FeignClient的時候是不能一個name多個配置類的,后來也是從網(wǎng)絡查找了各種網(wǎng)友的方法,反正就是歪門邪道的各種都有。但是還是官網(wǎng)給的方法比較靠譜。
解決方案
1、添加配置
spring.main.allow-bean-definition-overriding=true
2、這樣允許同名的bean存在,但是不安全,不推薦。(來自網(wǎng)絡,未測試)在openfeign高版本2.2.1中@FeignClient里面添加了新屬性ContextId,這樣使用這個屬性也是可以的,官網(wǎng)有這個例程。

3、官網(wǎng)提供的另外一種就是手動創(chuàng)建Feign客戶端,如下就是,(官網(wǎng))
@Import(FeignClientsConfiguration.class)
class FooController {
private FooClient fooClient;
private FooClient adminClient;
@Autowired
public FooController(Decoder decoder, Encoder encoder, Client client, Contract contract) {
this.fooClient = Feign.builder().client(client)
.encoder(encoder)
.decoder(decoder)
.contract(contract)
.requestInterceptor(new BasicAuthRequestInterceptor("user", "user"))
.target(FooClient.class, "https://PROD-SVC");
this.adminClient = Feign.builder().client(client)
.encoder(encoder)
.decoder(decoder)
.contract(contract)
.requestInterceptor(new BasicAuthRequestInterceptor("admin", "admin"))
.target(FooClient.class, "https://PROD-SVC");
}
}
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Jenkins+Maven+Gitea+Nexus搭建CICD環(huán)境的方式
這篇文章主要介紹了基于Jenkins+Maven+Gitea+Nexus從0到1搭建CICD環(huán)境,大家都知道Nexus是一套“開箱即用”的系統(tǒng)不需要數(shù)據(jù)庫,它使用文件系統(tǒng)加Lucene來組織數(shù)據(jù),需要的朋友可以參考下2022-01-01
springboot+redis自定義注解實現(xiàn)發(fā)布訂閱的實現(xiàn)代碼
在Redis中客戶端可以通過訂閱特定的頻道來接收發(fā)送至該頻道的消息,本文主要介紹了springboot+redis自定義注解實現(xiàn)發(fā)布訂閱,具有一定的參考價值,感興趣的可以了解一下2023-08-08
vue數(shù)據(jù)響應式原理重寫函數(shù)實現(xiàn)數(shù)組響應式監(jiān)聽
Vue的通過數(shù)據(jù)劫持的方式實現(xiàn)數(shù)據(jù)的雙向綁定,即使用Object.defineProperty()來實現(xiàn)對屬性的劫持,但是Object.defineProperty()中的setter是無法直接實現(xiàn)數(shù)組中值的改變的劫持行為的,需要的朋友可以參考下2023-05-05
Maven中Junit測試@Test等注解無法識別的問題及解決
這篇文章主要介紹了Maven中Junit測試@Test等注解無法識別的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
java核心編程之文件過濾類FileFilter和FilenameFilter
這篇文章主要為大家詳細介紹了java文件過濾類FileFilter和FilenameFilter,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08

