欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringCloud Eureka Provider及Consumer的實現(xiàn)

 更新時間:2019年10月16日 11:07:59   作者:巡山小妖N  
這篇文章主要介紹了SpringCloud Eureka 提供者及調(diào)用者的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

Eureka-Provider 服務(wù)的提供者

新建一個服務(wù)提供者項目

1、導入pom文件

<properties>
    <java.version>1.8</java.version>
    <spring-cloud.version>Greenwich.SR3</spring-cloud.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>${spring-cloud.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

2、在啟動類上加注解

@SpringBootApplication
@EnableDiscoveryClient // 這個注解加不加都可以,因為Eureka
public class EurekaProviderApplication {
  public static void main(String[] args) {
    SpringApplication.run(EurekaProviderApplication.class, args);
  }
}

上邊那個@EnableDiscoverClient 注解加不加都行的原因會在后邊表名

3、在Eureka-Provider項目中添加一個簡單的接口

@RestController
public class EurekaProviderController {
  @GetMapping("/provider")
  public String provider(@RequestParam String aaa){
    return "eureka-provider-return" + aaa;
  }
}

4、以上配置完成之后啟動Eureka-Provider

啟動后會在控制臺輸出

DiscoveryClient_EUREKA-PROVIDER/192.168.1.4:eureka-provider:8000: registering service...

​同時看localhost:8761 頁面的Instance currently registered 會多出一條信息

Application AMIs Availability Zones Status

EUREKA-PROVIDER n/a (1) (1) UP (1) - 192.168.1.4:eureka-provider:8000

Eureka-Consumer 服務(wù)的調(diào)用者

調(diào)用者的配置和上邊提供者類似,applicatioin.yml配置修改server.port=8100

1、啟動類修改

@SpringBootApplication  // 另一個發(fā)現(xiàn)服務(wù)的注解可以不用謝(SpringCloud版本要在Edgware之后)
public class EurekaConsumerApplication {
  @Bean
  @LoadBalanced
  RestTemplate restTemplate(){
    return new RestTemplate();
  }
  public static void main(String[] args) {
    SpringApplication.run(EurekaConsumerApplication.class, args);
  }
}

2、編寫一個調(diào)用接口的類

@RestController
public class EurekaConsumerController {
  @Autowired
  private RestTemplate restTemplate;
  @GetMapping("/consumer")
  @GetMapping("/consumer")
  public String consumer(@RequestParam String aaa){
    return restTemplate.getForObject("http://EUREKA-PROVIDER/provider?aaa=" + aaa,String.class );
  }
}

3、啟動服務(wù)調(diào)用者

​ 啟動后,調(diào)用調(diào)用者的觸發(fā)地址localhost:8100/consumer?aaa=consumerSemdParamter

​ 瀏覽器顯示內(nèi)容:

eureka-provider-returnconsumerSemdParamter

上邊遺留的一個問題,eureka-client不加@EnableDiscoveryClient以將自己注冊到注冊中心

先看EurekaClientAutoConfiguration類中

@Configuration
@EnableConfigurationProperties
@ConditionalOnClass(EurekaClientConfig.class)
@Import(DiscoveryClientOptionalArgsConfiguration.class)
@ConditionalOnBean(EurekaDiscoveryClientConfiguration.Marker.class)
@ConditionalOnProperty(value = "eureka.client.enabled", matchIfMissing = true)
@ConditionalOnDiscoveryEnabled
@AutoConfigureBefore({ NoopDiscoveryClientAutoConfiguration.class,
   CommonsClientAutoConfiguration.class, ServiceRegistryAutoConfiguration.class })
@AutoConfigureAfter(name = {
   "org.springframework.cloud.autoconfigure.RefreshAutoConfiguration",
   "org.springframework.cloud.netflix.eureka.EurekaDiscoveryClientConfiguration",
   "org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationAutoConfiguration" })
public class EurekaClientAutoConfiguration {
}

可以看到該類加載的條件是需要有EurekaDiscoveryClientConfiguration.Maker.class的Bean存在,并且eureka.client.enabled為true,因為該值默認為true,所以不需要關(guān)注,因此重要的就是EurekaDiscoveryClientConfiguration.Maker.class這個,而這個類在Dalston之前的舊版本是不會自動加載的,而在Edgware之后,該類就配置到spring.factories文件中了,改文件中所配置的bean在springboot啟動的時候就會被加載(所以不需要手動配上注冊服務(wù)的注解了,springboot會自動配置)

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java日志相關(guān)技術(shù)_動力節(jié)點Java學院整理

    Java日志相關(guān)技術(shù)_動力節(jié)點Java學院整理

    這篇文章主要介紹了Java日志相關(guān)技術(shù)_動力節(jié)點Java學院整理的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • mybatis-plus更新策略部分字段不更新問題

    mybatis-plus更新策略部分字段不更新問題

    這篇文章主要介紹了mybatis-plus更新策略部分字段不更新問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 如何在不使用spring框架中使用aop的功能

    如何在不使用spring框架中使用aop的功能

    這篇文章主要介紹了如何在不使用spring框架中使用aop的功能,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java 中復合機制的實例詳解

    java 中復合機制的實例詳解

    這篇文章主要介紹了java 中復合機制的實例詳解的相關(guān)資料,希望通過本文大家能了解繼承和復合的區(qū)別并應用復合這種機制,需要的朋友可以參考下
    2017-09-09
  • Java Socket編程筆記_動力節(jié)點Java學院整理

    Java Socket編程筆記_動力節(jié)點Java學院整理

    Socket對于我們來說就非常實用了。下面是本次學習的筆記。主要分異常類型、交互原理、Socket、ServerSocket、多線程這幾個方面闡述
    2017-05-05
  • SpringBoot如何使用Undertow做服務(wù)器

    SpringBoot如何使用Undertow做服務(wù)器

    這篇文章主要介紹了SpringBoot如何使用Undertow做服務(wù)器,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • MyBatis中#{}和${}的區(qū)別詳解

    MyBatis中#{}和${}的區(qū)別詳解

    mybatis和ibatis總體來講都差不多的。下面小編給大家探討下mybatis中#{}和${}的區(qū)別,感興趣的朋友一起學習吧
    2016-08-08
  • JAVA中的隊列(Queue)詳解

    JAVA中的隊列(Queue)詳解

    這篇文章主要介紹了JAVA中的隊列(Queue)詳解,隊列是一種特殊的線性表,遵循先入先出、后入后出的基本原則,一般來說,它只允許在表的前端進行刪除操作,需要的朋友可以參考下
    2023-07-07
  • Java中的CAS和ABA問題說明

    Java中的CAS和ABA問題說明

    這篇文章主要介紹了Java中的CAS和ABA問題說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Maven配置倉庫的方法步驟

    Maven配置倉庫的方法步驟

    本文主要介紹了Maven配置倉庫的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06

最新評論