Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 29172|Yanıt: 1

[Kaynak] Birden fazla aynı hizmet adı için Java FeignClient Arayüzü istisna çözümü

[Bağlantıyı kopyala]
Yayınlandı 14.09.2021 18:05:15 | | | |
Spring Cloud, mikroservis iletişimi için OpenFeign kullanır ve aynı hizmet adı arayüzden farklı olduğunda hata aşağıdaki şekilde bildirilir:

Description:

Fasulye 'itsvse. FeignClientSpecification' kaydedilemedi. Bu isimle bir fasulye zaten tanımlanmış ve geçersiz kılma engelli olarak kullanılmıştır.

Action:

Fasulyelerden birinin adını değiştirmeyi veya spring.main.allow-bean-definition-overriding=true olarak geçersiz hale getirmeyi düşünün


Neden analizi

Tanımlanmış birden fazla FeignClient arayüzünün değerleri tamamı xxxx-sunucudur ve Springboot 2.2.x'in çekirdek isimleri, @FeignClient'nin değerine (yani isme) göre adlandırılır, böylece çekirdek zaten tanımlanmış olur.


çözüm

Çözüm 1: Hata isteğine göre aşağıdaki yapılandırmayı ekleyin:



Çözüm 2, FeignClient tanımlanırken aynı zamanda contextId niteliğini tanımlayın; bu da beanName kuralına dahil edilir ve fasulye tanımlandığı yerlerde istisna olmaz.

(Son)




Önceki:Windows'un harici (çıkış) IP adresi almak için bir tarayıcısı yoktur
Önümüzdeki:Java'daki yaygın fonksiyonel arayüzlerin (delegelerin) ayrıntılı açıklaması
 Ev sahibi| Yayınlandı 22.09.2021 15:28:34 |

GET'in talep bedeni olmamalı


Arayüz talep etmek için okhttp3'ün Get yöntemini kullanırken feign @RequestParam eklemek zorunda.Kontrolörler eklenmeden de eklenebilir

Örnekler:



Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com