有的项目的注册中心有@EnableZuulProxy,它会自动扫描服务注册,如果有nacos、eureka双注册中心,@EnableZuulProxy就会分不清(扫描到两个),所以报错。错误如下:
Description:
Field registration in org.springframework.cloud.netflix.zuul.ZuulProxyAutoConfiguration required a single bean, but 2 were found:
- nacosRegistration: defined by method ‘nacosRegistration’ in class path resource [com/alibaba/cloud/nacos/registry/NacosServiceRegistryAutoConfiguration.class]
- eurekaRegistration: defined in BeanDefinition defined in class path resource [org/springframework/cloud/netflix/eureka/EurekaClientAutoConfiguration$RefreshableEurekaClientConfiguration.class]
#zuul.ZuulProxyAutoConfiguration.post.disable=true 不管用
想到两种解决方法
1.用@EnableZuulServer,但没有路由转发功能
2.就是单向注册,只注册到nacos上
可以用@EnableZuulServe自定义
zuul官方开发文档:https://blog.csdn.net/kevin_loving/article/details/80661259
有一句话:
@EnableZuulProxy包含@EnableZuulServer安装的所有过滤器。“代理”中的其他过滤器启用路由功能。如果你想要一个“空白”Zuul,你应该使用@EnableZuulServer。