天天看點

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,如需轉載請自行聯系原作者

繼續閱讀