The bean '*.FeignClientSpecification' could not be registered.
当多个 @FeignClient
注解使用相同的 name 属性时,应用启动时报了如下错误:
The bean 'Provider_A.FeignClientSpecification' could not be registered. A bean with that name has already been defined and overriding is disabled.
@FeignClient
的定义如下:
java
@FeignClient(name = MyServiceName.PROVIDER_A)
public interface OneFeignClient {
}
@FeignClient(name = MyServiceName.PROVIDER_A)
public interface AnotherFeignClient {
}
参考这篇博客,只需要将 @FeignClient
注解的 contextId 属性指定为不同的值即可避免这个错误。
java
@FeignClient(name = MyServiceName.PROVIDER_A, contextId = "one-context")
public interface OneFeignClient {
}
@FeignClient(name = MyServiceName.PROVIDER_A, contextId = "another-context")
public interface AnotherFeignClient {
}