错误描述
springclouud使用负载均衡时,同一服务启动多个,其他模块调用时 浏览器出现 控制台报错
[nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalStateException: No instances available for userservice] with root cause java.lang.IllegalStateException: No instances available for userservice …
问题解决
检查请求是否正确
String url ="http://userservice/user/"+order.getUserId();
检查yml文件是否将对应文件配置到注册中心
eureka:
client:
service-url: #把自己配置到上去(本身也是一个提供者)
defaultZone: http://127.0.0.1:10086/eureka
检查启动类是否有负载均衡注解
@LoadBalanced
@Bean
public RestTemplate restTemplate(){
return new RestTemplate();
}
如果前面都正确的话,可以在整体工程的pom中添加thymeleaf依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
总结
这是由于导入其他人项目时,默认环境没有视图解析,于是我们就需要导入spring官方的视图解析器thyleaf。 这时我们再进行访问对应链接,发现成功跳转并进行负载均衡