踩坑之Spring Cloud之@HystrixCommand注解不能用的问题

踩坑之Spring Cloud之@HystrixCommand注解不能用的问题

732发表于2019-06-27

昨天搭建Spring Cloud项目使用使用遇到一个问题。@HystrixCommand注解不能用。可是我是完全执照书下操作的。如下图:

from clipboard

我猜肯定是我本地的Spring Cloud版本和书作者不一致。

我的版本,如下:

from clipboard


Finchley.SR1+2.0.1.RELEASE
看网上有说加要加hystrix-javanica依赖,但是总是下载不下来。后来干脆直接下载jar包采用systemPath的形式,还是不行。


最后,终极解决办法!添加依赖:


<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
	<version>2.0.0.RELEASE</version>
</dependency>

一、准备测试代码

Consumber工程:

1、HelloService

from clipboard

使用HystrixCommand中的fallbackMethod来实现调用下游服务失败执行的本地方法。

2、HelloController


from clipboard

Provider工程:

1、HelloController

from clipboard


二、测试代码

依次启动Eureka,Provider,和Consumer。

访问Consumer的/hello路径。

from clipboard

这时是正常的结果,接下来我们把Provider的工程停掉。再访问/hello。

from clipboard

从上面结果看到当Consumer调用的服务down掉时,会执行了注解:

@HystrixCommand(fallbackMethod = "helloFallback")
配置的helloFallback方法。

完整项目地址:https://github.com/lanhusoft/springcloud-demo


小编蓝狐