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

SpringCloud OpenFeign超詳細(xì)講解模板化遠(yuǎn)程通信的實現(xiàn)

 更新時間:2022年07月12日 10:47:36   作者:有頭發(fā)的程序猿!  
這篇文章主要介紹了SpringCloudSpringboot集成OpenFeign實現(xiàn)模板化遠(yuǎn)程通信,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1. openFeign實現(xiàn)

基于spring-boot-starter-parent 2.6.8,spring-cloud-dependencies 2021.0.3,一個order服務(wù)一個user服務(wù)

1.1 pom依賴

<!--nacos服務(wù)注冊與發(fā)現(xiàn)-->
<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
	<version>2021.0.1.0</version>
</dependency>
<!--遠(yuǎn)程服務(wù)調(diào)用-->
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>
<!--服務(wù)調(diào)用feign-->
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

1.2 yaml配置

order調(diào)用端,配置的超時設(shè)置注釋掉了只為記錄

spring:
  application:
    name: orderservice
  cloud:
    #找對應(yīng)網(wǎng)段的網(wǎng)卡 不配置內(nèi)部服務(wù)就走外網(wǎng)
    inetutils:
      preferred-networks: 192.168.0
    nacos:
      discovery:
        server-addr: 192.168.0.221:8848
#feign:
#  client:
#    config:
#      #default設(shè)置的是全局超時時間,對所有的openFeign接口服務(wù)都生效 默認(rèn)60s超時
#      default:
#        connectTimeout: 5000
#        readTimeout: 5000
#      #為某個服務(wù)設(shè)置超時時間 優(yōu)先于全局
#      userservice:
#        connectTimeout: 5000
#        readTimeout: 5000

user服務(wù)僅需要注冊

spring:
  application:
    name: userservice
  cloud:
    #找對應(yīng)網(wǎng)段的網(wǎng)卡 不配置內(nèi)部服務(wù)就走外網(wǎng)
    inetutils:
      preferred-networks: 192.168.0
    nacos:
      discovery:
        server-addr: 192.168.0.221:8848

遠(yuǎn)程調(diào)用依賴于注冊中心,這里用的是nacos,其他的eureka也可以的

1.3 客戶端調(diào)用代碼

  • 啟動類上添加@EnableFeignClients注解
  • api接口,可以單獨放在api包
@FeignClient(value = "userservice")
//沒有注冊中心的服務(wù)調(diào)用使用  testFeign/隨便寫
//@FeignClient(value = "testFeign",url = "http://192.168.0.199:7540")
public interface UserService {
    //默認(rèn)是@RequestBody注解參數(shù) 
    //如果使用其他注解一定要帶上value 否者會報錯 RequestParam.value() was empty on parameter 1
    @GetMapping("/getTime/{uuid}")
    String getTime(@PathVariable("uuid") String uuid, @RequestParam("name") String name);
    @PostMapping("/postTime")
    Map<String, Object> getTime(@RequestBody Map<String, Object> params);
}

客戶端代碼

	@Resource
    UserService userService;
    @GetMapping("/test")
    public String test() throws Exception {
        log.info("openFeign -- start");
        Map<String, Object> time = userService.getTime(resMap);
        log.info("openFeign -- {}", time);
        return template + ":" + time;
    }

1.4.服務(wù)端暴露接口

    @PostMapping("/postTime")
    public Map<String, Object> getTime(@RequestBody Map<String, Object> params) {
        params.put("time", new Date().getTime());
        return params;
    }

1.5.測試日志

c.e.order.controller.OrderController     : openFeign -- start
c.e.order.controller.OrderController     : openFeign -- {aaaa=bbbb, time=1657187048104}

到此這篇關(guān)于SpringCloud OpenFeign超詳細(xì)講解模板化遠(yuǎn)程通信的實現(xiàn)的文章就介紹到這了,更多相關(guān)SpringCloud OpenFeign模板化遠(yuǎn)程通信內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺析Spring獲取Bean的九種方法詳解

    淺析Spring獲取Bean的九種方法詳解

    隨著SpringBoot的普及,Spring的使用也越來越廣,在某些場景下,我們無法通過注解或配置的形式直接獲取到某個Bean。比如,在某一些工具類、設(shè)計模式實現(xiàn)中需要使用到Spring容器管理的Bean,此時就需要直接獲取到對應(yīng)的Bean,這篇文章主要介紹了Spring獲取Bean的九種方法
    2023-01-01
  • springboot添加AOP日志配置詳解

    springboot添加AOP日志配置詳解

    這篇文章主要介紹了springboot添加AOP日志配置詳解,日志是一種在軟件開發(fā)中常用的技術(shù),用于記錄和跟蹤應(yīng)用程序的運行過程,通過AOP日志,開發(fā)人員可以實時監(jiān)控應(yīng)用程序的行為,包括方法的調(diào)用、參數(shù)的傳遞和返回值的獲取等,需要的朋友可以參考下
    2023-10-10
  • Maven項目引用第三方j(luò)ar包找不到類ClassNotFoundException

    Maven項目引用第三方j(luò)ar包找不到類ClassNotFoundException

    這篇文章主要為大家介紹了Maven項目引用第三方j(luò)ar包找不到類ClassNotFoundException解決及原因分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Java基礎(chǔ)之方法重寫詳解

    Java基礎(chǔ)之方法重寫詳解

    這篇文章主要介紹了Java基礎(chǔ)之方法重寫詳解,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • 完美解決Spring聲明式事務(wù)不回滾的問題

    完美解決Spring聲明式事務(wù)不回滾的問題

    下面小編就為大家?guī)硪黄昝澜鉀QSpring聲明式事務(wù)不回滾的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Java高效實現(xiàn)excel轉(zhuǎn)pdf(支持帶圖片的轉(zhuǎn)換)

    Java高效實現(xiàn)excel轉(zhuǎn)pdf(支持帶圖片的轉(zhuǎn)換)

    這篇文章主要為大家詳細(xì)介紹了如何用java實現(xiàn)excel轉(zhuǎn)pdf文件,并且支持excel單元格中帶有圖片的轉(zhuǎn)換,文中的示例代碼講解詳細(xì),需要的可以參考下
    2024-01-01
  • 詳解Java并發(fā)包基石AQS

    詳解Java并發(fā)包基石AQS

    Java并發(fā)包(JUC)中提供了很多并發(fā)工具,這其中,很多我們耳熟能詳?shù)牟l(fā)工具,譬如ReentrangLock、Semaphore,它們的實現(xiàn)都用到了一個共同的基類--AbstractQueuedSynchronizer,簡稱AQS。本文將從幾個方面來詳細(xì)介紹:基本實現(xiàn)原理、自定義同步器、源碼分析
    2021-06-06
  • 深入學(xué)習(xí)springboot線程池的使用和擴(kuò)展

    深入學(xué)習(xí)springboot線程池的使用和擴(kuò)展

    這篇文章主要介紹了深入學(xué)習(xí)springboot線程池的使用和擴(kuò)展,springboot框架提供了@Async注解,幫助我們更方便的將業(yè)務(wù)邏輯提交到線程池中異步執(zhí)行,需要的朋友可以參考下
    2019-06-06
  • springboot中關(guān)于自動建表,無法更新字段的問題

    springboot中關(guān)于自動建表,無法更新字段的問題

    這篇文章主要介紹了springboot中關(guān)于自動建表,無法更新字段的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java線程狀態(tài)及切換、關(guān)閉線程的正確姿勢分享

    Java線程狀態(tài)及切換、關(guān)閉線程的正確姿勢分享

    這篇文章主要給大家介紹了關(guān)于Java線程狀態(tài)及切換、關(guān)閉線程的正確姿勢,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10

最新評論