Spring Cloud一些异常

1.启动时提示找不到bean,无法注入对应的接口

Field baseService in xx.TestController required a bean of type 'xxxService' that could not be found.

可能原因:

    接口位置不在启动类的子包下,扫描不到这个@FeignClient.

    使用@SpringBootApplication(scanBasePackages = "xxx")是不够的

    在注解@EnableFeignClients上添加@EnableFeignClients(basePackages = "xx")


2.访问对应的地址,内部调用@FeignClient注解的方法时,报错

com.netflix.client.ClientException: Load balancer does not have available server for client:xxx

    xxx是生产者服务名称,通过eureka.instance.appname来指定的,在eureka界面也可以看见这个name,但是访问不到.

    这个xxx需要通过spring.application.name来指定才可以.

    eureka.instance.appname在eureka界面显示最前面Application列,并没有什么多大的意义,而spring.application.name显示在Status的url地址最后面,在@FeignClient(写在这里)

    有个博文还说这两个东西有优先级,乱说个大头鬼啊.




3.在使用zuul作为网关的时候,通过访问 http://zuul服务地址:端口/微服务名称/业务

这里的微服务名称是在eureka中的Application

例如访问    http://127.0.0.1:10000/base-show/xxxx


坑爹是如果配置了eureka.instance.appname,同时配置spring.application.name,且不和前面的相同.那么会抛异常


Caused by: com.netflix.client.ClientException: Load balancer does not have available server for client: base-show


但是访问http://127.0.0.1:10000/base/xxxx又是404错误!!!


只能是删掉eureka.instance.appname,这样可以通过

http://127.0.0.1:10000/base/xxxx来访问微服务




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值