1.先查看springboot的版本,不同的版本解决问题的方法不大一样,我的版本是2.0
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
2.查看是否导入了jar包,在External Libraries里检查是否成功引入了jar包,失败的话可以把“-netflix”去掉再试一次
<!--监控中心-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- hystrix 断路器-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<!-- hystrix-dashboard监控 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>
3.在boot启动程序中加入下面的注解
@EnableCircuitBreaker
@EnableHystrixDashboard
4.对应的service上肯定要加上断路由设定
@FeignClient(value = "service-hi",fallback = SchedualServiceHiHystric.class)
5.springboot2.0以上的版本需要在启动程序中再增加下面的servlet
@Bean
public ServletRegistrationBean getServlet() {
HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);
registrationBean.setLoadOnStartup(1);
registrationBean.addUrlMappings("/hystrix.stream");
registrationBean.setName("HystrixMetricsStreamServlet");
return registrationBean;
}
6.重新启动