天天看点

43. Hystrix熔断器加入

1. pom.xml中加入

<code>&lt;</code><code>dependency</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>groupId</code><code>&gt;org.springframework.cloud&lt;/</code><code>groupId</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>artifactId</code><code>&gt;spring-cloud-starter-hystrix&lt;/</code><code>artifactId</code><code>&gt;</code>

<code>&lt;/</code><code>dependency</code><code>&gt;</code>

2. application.properties里面加入eureka配置

<code>eureka.client.serviceUrl.defaultZone=http://host:port/eureka/</code>

2. Application.java加入注解

@EnableCircuitBreaker,@EnableEurekaClient, @EnableDiscoveryClient

<code>@EnableCircuitBreaker</code>

<code>@EnableDiscoveryClient</code>

<code>@EnableEurekaClient</code>

<code>public</code> <code>class</code> <code>SmartHomeAuthServiceMain {</code>

<code>}</code>

3. 具体接口前加入回滚方法

<code>@HystrixCommand</code><code>(fallbackMethod = </code><code>"findOrderFallback"</code><code>, commandProperties = {</code>

<code>            </code><code>@HystrixProperty</code><code>(name = </code><code>"execution.isolation.thread.timeoutInMilliseconds"</code><code>, value = </code><code>"2000"</code><code>)</code>

<code>    </code><code>})</code>

<code>public</code> <code>String authPublishMessage(</code><code>@RequestBody</code> <code>InnerAuthPublishMessageModel requestParas) {</code>

<code>}    </code>

<code>public</code> <code>String findOrderFallback(InnerAuthPublishMessageModel requestParas) {</code>

<code>        </code><code>return</code> <code>"failed"</code>

回滚方法findOrderFallback参数和返回值和之前的一样

4. github配置文档

https://github.com/Netflix/Hystrix/wiki/Configuration

     本文转自rongwei84n 51CTO博客,原文链接:http://blog.51cto.com/483181/1983571,如需转载请自行联系原作者

继续阅读