码迷,mamicode.com
首页 > 编程语言 > 详细

SpringCloud四:hystrix-propagation

时间:2017-10-26 13:34:09      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:异常   net   org   idf   var   ble   exe   .class   ica   

注:pom.xml 及配置文件配置与上篇相同

package com.itmuch.cloud.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.context.annotation.SessionScope;

import com.itmuch.cloud.entity.User;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty;
/**
* 短路器第二天
* @author z
*
*/
@RestController
public class MovieController {
@Autowired
private RestTemplate restTemplate;

@GetMapping("/movie/{id}")
//表示@HystrixCommand与findById方法会在同一个线程中调用
//如果不配合的话findById是一个线程,@HystrixCommand是一个隔离的线程相当于两个线程
//正常情况下不需要配置,等抛异常了在配置
@HystrixCommand(fallbackMethod = "findByIdFallback", commandProperties = @HystrixProperty(name = "execution.isolation.strategy", value = "SEMAPHORE"))
public User findById(@PathVariable Long id) {
return this.restTemplate.getForObject("http://microservice-provider-user/simple/" + id, User.class);
}

public User findByIdFallback(Long id) {
User user = new User();
user.setId(0L);
return user;
}
}

SpringCloud四:hystrix-propagation

标签:异常   net   org   idf   var   ble   exe   .class   ica   

原文地址:http://www.cnblogs.com/a8457013/p/7736038.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!