Spring cloud - Feign / Eureka load balance does not and connetion refused
2017-06-14 22:45
495 查看
今天集成项目接口对接,别人说,为什么你的spring cloud 提供的接口没办法用feign的方式调用,我当时觉得好奇怪,因为cloud项目本身自己去调试的时候我通常是不开eureka的,所以都是基于serveice本身去调用,我们通常的项目结构包如下:
project:
-xxx-api
-xxx-dao
-xxx-service
api 是对外提供feign 接口调用的,但是pom file 要引用feign
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
dao 就不说了,我们使用mybatis,里边放的都是mapper文件和bean 文件
service,是主要是url mapping,就是spring 中的controller,用于处理rest 之间的调用
好了,前戏就到这里, 开始说下我们遇到的问题。
先看看我的eureka,启动界面:
第一个问题: connection refused.
没办法,把pom file 梳理了一遍,把缺feign的依赖包加进去了,然后竟然OK了,不过转身就开始报下个错误,真是尼玛脱裤子不认账啊。。。
第二个:
Load balancer does not have available server 。。。。。。。。。。。。。
真尼玛奇怪了,eureka注册有了, feign也可以调用了, 竟然说找不到服务,然后开始各种百度,各种查询类似的问题,但是都没结果。
这心情真是日了狗了。
又检查代码,又开始梳理pom 文件,然后application.preoperties 文件,又和别的已经可以运行的项目文件进行比较,没啥啊。。。
然后抽根烟发呆,也开始想为什么 为什么。
突然想起早上,查另外一个问题的时候有人说,spring boot对文件命名有自己的查询规则。 我想了想,是不是命名有问题,因为java的习惯是文件名都大写,所以我的service名字也都是这种格式第一个单词之间都是大写。请大家注意下面的写法:
错误写法:
# spring
spring.application.name=noticeCenter-service
正确写法:
# spring
spring.application.name=noticecenter-service
抱着尝试的心态改完配置文件重新clean install一下,重新发布,cnmd,竟然好了,好了, 真心没看错, 真的可以调用了。
可以再另外一个service调用了。
这个算不算坑? 算不算坑?
通过这个方式在另外一个系统可以调用了,调用的url 是这样的http://noticecenter-service/api/noticeCenter/noticeCount
大写是绝对不可以的。
好了,本次解决时间大概用了3个半小时。
大家都注意下,别乱大小写。
http://noticeCenter-service/api/noticeCenter/noticeCount
project:
-xxx-api
-xxx-dao
-xxx-service
api 是对外提供feign 接口调用的,但是pom file 要引用feign
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
dao 就不说了,我们使用mybatis,里边放的都是mapper文件和bean 文件
service,是主要是url mapping,就是spring 中的controller,用于处理rest 之间的调用
好了,前戏就到这里, 开始说下我们遇到的问题。
先看看我的eureka,启动界面:
第一个问题: connection refused.
没办法,把pom file 梳理了一遍,把缺feign的依赖包加进去了,然后竟然OK了,不过转身就开始报下个错误,真是尼玛脱裤子不认账啊。。。
第二个:
Load balancer does not have available server 。。。。。。。。。。。。。
真尼玛奇怪了,eureka注册有了, feign也可以调用了, 竟然说找不到服务,然后开始各种百度,各种查询类似的问题,但是都没结果。
这心情真是日了狗了。
又检查代码,又开始梳理pom 文件,然后application.preoperties 文件,又和别的已经可以运行的项目文件进行比较,没啥啊。。。
然后抽根烟发呆,也开始想为什么 为什么。
突然想起早上,查另外一个问题的时候有人说,spring boot对文件命名有自己的查询规则。 我想了想,是不是命名有问题,因为java的习惯是文件名都大写,所以我的service名字也都是这种格式第一个单词之间都是大写。请大家注意下面的写法:
错误写法:
# spring
spring.application.name=noticeCenter-service
正确写法:
# spring
spring.application.name=noticecenter-service
抱着尝试的心态改完配置文件重新clean install一下,重新发布,cnmd,竟然好了,好了, 真心没看错, 真的可以调用了。
可以再另外一个service调用了。
这个算不算坑? 算不算坑?
通过这个方式在另外一个系统可以调用了,调用的url 是这样的http://noticecenter-service/api/noticeCenter/noticeCount
大写是绝对不可以的。
好了,本次解决时间大概用了3个半小时。
大家都注意下,别乱大小写。
http://noticeCenter-service/api/noticeCenter/noticeCount
相关文章推荐
- spring cloud eureka服务调用出现feign.codec.EncodeException: Could not write request: no suitable HttpMessa
- 微服务框架Spring Cloud介绍 Part4: 使用Eureka, Ribbon, Feign实现REST服务客户端
- springcloud微服务实战:Eureka+Zuul+Feign/Ribbon+Hystrix Turbine+SpringConfig+sleuth+zipkin
- SpringCloud学习:Eureka、Feign(含示例代码)
- springcloud ribbon实现负载均衡的时候,提示Request URI does not contain a valid hostname: http://PRODUCT_SERVICE/
- SPRINGCLOUD(EUREKA+RIBBON+FEIGN+HYSTRIX)
- springcloud-eureka集群-整合feign框架自定义注解解释器
- Spring Cloud(四)服务提供者 Eureka + 服务消费者 Feign
- spring 管理事务配置时,结果 报错: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here这个异常
- SpringCloud学习:Eureka、Ribbon和Feign
- Spring Cloud Feign 出现ClassNotFoundException: feign.Feign$Builder错误
- Spring Cloud(四)服务提供者 Eureka + 服务消费者 Feign
- spring cloud zuul + feign + eureka
- Spring Boot中使用Feign调用时Hystrix提示异常:"could not be queued for execution and no fallback available."以及"Rejected command because thread-pool queueSize is at rejection threshold"
- java.io.FileNotFoundException: class path resource [templates/] spring-cloud-netflix-eureka-server
- SpringCloud 学习记录(一):服务注册与发现(eureka+feign)
- 100.In which situations does the Oracle Data Pump use external tables and not the direct path load w
- spring cloud feign 上传文件报not a type supported by this encoder解决方案
- Spring+Hibernate 异常No Hibernate Session bound to thread, and configuration does not allow creation
- springcloud-eureka集群-整合feign框架自定义拦截器