1. pom.xml中加入
<code><</code><code>dependency</code><code>></code>
<code> </code><code><</code><code>groupId</code><code>>org.springframework.cloud</</code><code>groupId</code><code>></code>
<code> </code><code><</code><code>artifactId</code><code>>spring-cloud-starter-hystrix</</code><code>artifactId</code><code>></code>
<code></</code><code>dependency</code><code>></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,如需轉載請自行聯系原作者