• spring cloud 消费者


    本消费者  加了 Hystrix, 为了后续监控用。

    1. 依赖:

      

    <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.4.RELEASE</version>
    </parent>

    <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
    </properties>

    <dependencies>
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</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>

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

    </dependencies>

    <dependencyManagement>
    <dependencies>
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>Camden.SR7</version>
    <type>pom</type>
    <scope>import</scope>
    </dependency>

    </dependencies>
    </dependencyManagement>
    </project>

    2. 启动类

    @SpringBootApplication
    @EnableEurekaClient
    @EnableCircuitBreaker
    public class ConsumerHelloApplication {



    @Bean
    @LoadBalanced
    RestTemplate restTmeplate() {
    return new RestTemplate();
    }

    public static void main(String[] args) {
    SpringApplication.run(ConsumerHelloApplication.class, args);
    }
    }

    3. 业务逻辑

    @RestController
    public class ConsumerContrller {

    @Autowired
    private RestTemplate restTemplate;


    @RequestMapping("/consumer")
    @HystrixCommand(fallbackMethod="fallbackHelloConsumer")
    public String helloConsumer() {
    return restTemplate.getForEntity("http://HELLO-SERVICE/hello",String.class).getBody();
    }

    public String fallbackHelloConsumer() {
    return "error";
    }
    }

    4. 配置

    server:
    port: 8091
    spring:
    application:
    name: hello-consumer
    eureka:
    client:
    serviceUrl:
    defaultZone: http://admin:admin@ym-eureka-server1:8761/eureka/,http://admin:admin@ym-eureka-server2:8762/eureka/,http://admin:admin@ym-eureka-server3:8763/eureka/
    instance:
    preferIpAddress: true
    hystrix:
    command:
    default:
    execution:
    isolation:
    thread:
    timeoutInMilliseconds: 4000

  • 相关阅读:
    4
    3
    2
    JAVA中的Token
    swagger2常用注解说明
    Java SimpleDateFormat 中英文时间格式化转换
    Shiro+Redis实现tomcat集群session共享
    理解并设计rest/restful风格接口
    这一篇比上一遍更形象一点,整合到一起看看还是不错的
    SSM 三大框架---事务处理
  • 原文地址:https://www.cnblogs.com/maohuidong/p/9881103.html
Copyright © 2020-2023  润新知