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

网友投稿 235 2023-07-21

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注解找不到,由于SJcvwsqLpring Boot 2.0刚出没多久,所以这块资料网上很少,查阅资料说是新版本中不包含此注解了,需要重新引入。

报错信息:

源码:

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

com.netflix.hystrix

hystrix-javanica

RELEASE

完整pom.xml

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

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</version>

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

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

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</version>

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

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:详解Spring Cloud Finchley版中Consul多实例注册的问题处理
下一篇:spring boot和spring cloud之间的版本关系
相关文章

 发表评论

暂时没有评论,来抢沙发吧~