• spring cloud spring-hystrix


    <dependencyManagement>
    		<dependencies>
    			<dependency>
    				<groupId>org.springframework.cloud</groupId>
    				<artifactId>spring-cloud-dependencies</artifactId>
    				<version>Dalston.SR3</version>
    				<type>pom</type>
    				<scope>import</scope>
    			</dependency>
    		</dependencies>
    	</dependencyManagement>
    	<dependencies>
    		<dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-config</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-eureka</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-ribbon</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-hystrix</artifactId>
    		</dependency>
    		
    	</dependencies>
    

      

    @Service
    @DefaultProperties(defaultFallback = "getMemberFallback")
    public class MemberService {
    
    	@Autowired
    	private RestTemplate restTpl;
    
    	@HystrixCommand(fallbackMethod = "getMemberFallback", groupKey = "MemberGroup", commandKey = "MemberCommandKey",
    			commandProperties = {
    			@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "1000")
    	}, threadPoolProperties = {
    			@HystrixProperty(name = "coreSize", value = "2")
    	})
    	public Member getMember(Integer id) {
    		try {
    			Thread.sleep(2000);
    		} catch (Exception e) {
    			
    		}
    		
    		Member member = restTpl.getForObject(
    				"http://spring-hy-member/member/{id}", Member.class, id);
    		return member;
    	}
    
    	public Member getMemberFallback(Integer id) {
    		Member m = new Member();
    		m.setId(1);
    		m.setName("error member");
    		return m;
    	}
    }
    

      

    @RestController
    public class TestController {
    
    	@Autowired
    	private MemberService memberService;
    
    	@RequestMapping(value = "/router", method = RequestMethod.GET, 
    			produces = MediaType.APPLICATION_JSON_VALUE)
    	public Member router() {
    		return memberService.getMember(1);
    	}
    
    }
    

      

  • 相关阅读:
    约瑟夫问题的解法集锦
    java调用com组件将office文件转换成pdf
    hdu(1069)——Monkey and Banana(LIS变形)
    Unix网络编程之环境搭建
    atitit. java queue 队列体系and自己定义基于数据库的队列总结o7t
    怎样使Dialog像Activity一样随心所欲的使用?
    获取全部分组中某列最大的行
    Class C++
    spring mvc +Mybatis3.1 整合的时候异常
    Linux 编译C++ 与 设置 Vim
  • 原文地址:https://www.cnblogs.com/zfzf1/p/8550521.html
Copyright © 2020-2023  润新知