SpringBoot2.0整合SpringCloud Finchley @hystrixcommand注解找不到解决方案

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);
}

/**
* fallback方法
* @param id
* @return
*/
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刚出没多久,所以这块资料网上很少,查阅资料说是新版本中不包含此注解了,需要重新引入。

报错信息:

SpringBoot2.0整合SpringCloud Finchley @hystrixcommand注解找不到解决方案_第1张图片

源码:

SpringBoot2.0整合SpringCloud Finchley @hystrixcommand注解找不到解决方案_第2张图片

SpringBoot2.0整合SpringCloud Finchley @hystrixcommand注解找不到解决方案_第3张图片

SpringBoot2.0整合SpringCloud Finchley @hystrixcommand注解找不到解决方案_第4张图片

解决方案:pom.xml添加依赖


 com.netflix.hystrix
  hystrix-javanica
  RELEASE


完整pom.xml



  4.0.0
  com.serverribbon
  serverribbon
  0.0.1-SNAPSHOT
  jar
 
  serverribbon
  Demo project for Spring Boot
 
  
   org.springframework.boot
   spring-boot-starter-parent
   2.0.2.RELEASE
    
  
 
  
   UTF-
   UTF-
   1.8
   Finchley.RC2
  
 
  
   
     org.springframework.cloud
     spring-cloud-starter-netflix-eureka-server
   
 
   
     org.springframework.cloud
     spring-cloud-starter-ribbon
   
 
   
     org.springframework.cloud
     spring-cloud-starter-hystrix
   
 
   
     com.netflix.hystrix
     hystrix-javanica
     RELEASE
   
 
   
     org.springframework.boot
     spring-boot-starter-test
     test
   
   
     com.netflix.hystrix
     hystrix-core
     RELEASE
   
    
      com.netflix.hystrix
      hystrix-core
      RELEASE
    
  
 
  
   
     
      org.springframework.cloud
      spring-cloud-dependencies
      ${spring-cloud.version}
      pom
      import
     
   
  
 
  
   
     
      org.springframework.boot
      spring-boot-maven-plugin
     
   
  
 
  
   
     spring-milestones
     Spring Milestones
     https://repo.spring.io/milestone
     
      false
     
   
  
 
 

在程序的启动类ServiceRibbonApplication 加@EnableHystrix注解开启Hystrix

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(SpringBoot2.0整合SpringCloud Finchley @hystrixcommand注解找不到解决方案)