hystrix参数使用方法
通过注解@HystrixCommand的commandProperties去配置,
如下就是hystrix命令超时时间命令执行超时时间,为1000ms和执行是不启用超时
@RestController
public class MovieController {
@Autowired
private RestTemplate restTemplate;
@GetMapping("/movie/{id}")
@HystrixCommand(commandProperties = {
@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "1000"),
@HystrixProperty(name = "execution.timeout.enabled", value = "false")},fallbackMethod = "findByIdFallback")
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(5L);
return user;
}
}
问题描述:
笔者在使用Spring Boot 2.0整合Spring Cloud Finchley.RC2版本时,使用断路器 Hystrix时候发现@hystrixcommand注解找不到,由于Spring Boot 2.0刚出没多久,所以这块资料网上很少,查阅资料说是新版本中不包含此注解了,需要重新引入。
报错信息:
源码:
解决方案:pom.xml添加依赖
com.netflix.hystrix hystrix-javanicaRELEASE
完整pom.xml
4.0.0 com.serverribbon serverribbon0.0.1-SNAPSHOT jar serverribbon Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent2.0.2.RELEASE UTF- UTF- 1.8 Finchley.RC2 org.springframework.cloud spring-cloud-starter-netflix-eureka-serverorg.springframework.cloud spring-cloud-starter-ribbonorg.springframework.cloud spring-cloud-starter-hystrixcom.netflix.hystrix hystrix-javanicaRELEASE org.springframework.boot spring-boot-starter-testtest com.netflix.hystrix hystrix-coreRELEASE com.netflix.hystrix hystrix-coreRELEASE org.springframework.cloud spring-cloud-dependencies${spring-cloud.version} pom import org.springframework.boot spring-boot-maven-pluginspring-milestones Spring Milestones https://repo.spring.io/milestone false
在程序的启动类ServiceRibbonApplication 加@EnableHystrix注解开启Hystrix
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



