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

Spring?Feign超時設(shè)置深入了解

 更新時間:2023年03月17日 11:28:01   作者:小乞丐程序員  
Spring?Cloud中Feign客戶端是默認開啟支持Ribbon的,最重要的兩個超時就是連接超時ConnectTimeout和讀超時ReadTimeout,在默認情況下,也就是沒有任何配置下,F(xiàn)eign的超時時間會被Ribbon覆蓋,兩個超時時間都是1秒

Feign其他功能-超時設(shè)置

  • Feign 底層依賴于 Ribbon 實現(xiàn)負載均衡和遠程調(diào)用。
  • Ribbon默認1秒超時。

超時配置:

ribbon:

ConnectTimeout: 1000 #連接超時時間,毫秒

ReadTimeout: 1000 #邏輯處理超時時間,毫秒

在feign-consumer中設(shè)置超時時間(具體代碼看上 Feign的快速入門)

server:
  port: 9000

eureka:
  instance:
    hostname: localhost # 主機名
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka
spring:
  application:
    name: feign-consumer # 設(shè)置當前應用的名稱。將來會在eureka中Application顯示。將來需要使用該名稱來獲取路徑

#設(shè)置Ribbon的超時時間
ribbon:
  ConnectTimeout: 1000 #鏈接超時時間,默認1s
  ReadTimeout: 3000 #邏輯處理的超時時間 默認1s

provider超時2s測試

Goods goods = goodsservice.findOne(id);
//當前現(xiàn)場睡眠2秒
try {
    Thread.sleep( millis: 2000);
}catch (InterruptedException e) {
    e.printStackTrace(); //java.net.SocketTimeoutException: Read timed out
}
goods.setTitle(goods.getTitle() + ":" + port);//將端口號,設(shè)置

Feign其他功能-日志記錄

Feign 只能記錄 debug 級別的日志信息。

logging: 
     level:   
          com.itheima: debug //包名

定義Feign日志級別Bean

@Bean
Logger.Level feignLoggerLevel() {    
		return Logger.Level.FULL;
		}

啟用該Bean:

@FeignClient(configuration = XxxConfig.class)

修改consumer

#設(shè)置當前的日志級別 debug,feign 只支持記錄debug級別的日志
logging:
  level:
    com.itheima: debug

package com.itheima.consumer.config;
import feign.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class FeignLogConfig {
    /**
     * NONE, 不記錄
     * BASIC, 記錄基本的請求行,響應狀態(tài)碼數(shù)據(jù)
     * HEADERS, 記錄基本的請求行,響應狀態(tài)碼數(shù)據(jù),記錄響應頭信息
     * FULL 記錄完整的請求,響應數(shù)據(jù)
     * @return
     */
    @Bean
    public Logger.Level level(){
        return Logger.Level.FULL;
    }
}
package com.itheima.consumer.feign;
import com.itheima.consumer.config.FeignLogConfig;
import com.itheima.consumer.domain.Goods;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
/**
 *  feign聲明式接口 發(fā)錢遠程調(diào)用的
 *   String url = "http://FEIGN-PROVIDER/goods/findOne/"+id;
 *         // 3. 調(diào)用方法
 *         Goods goods = restTemplate.getForObject(url, Goods.class);
 *
 *  1 定義接口
 *  2 接口上添加注解 @FeignClient 設(shè)置value屬性為服務(wù)提供的 應用名稱
 *  3 編寫調(diào)用接口,接口的聲明規(guī)則和提供方接口保持一致
 *  4 注入該接口對象,調(diào)用接口方法完成遠程調(diào)用
 */
@FeignClient(value = "FEIGN-PROVIDER",configuration = FeignLogConfig.class)
public interface GoodsFeignClient {
    @GetMapping("/goods/findOne/{id}")
    public Goods findGoodsById(@PathVariable("id") int id);
}

到此這篇關(guān)于Spring Feign超時設(shè)置深入了解的文章就介紹到這了,更多相關(guān)Spring Feign超時設(shè)置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java 中的控制反轉(zhuǎn)(IOC)詳解

    Java 中的控制反轉(zhuǎn)(IOC)詳解

    這篇文章主要介紹了理解Java 中的IOC控制反轉(zhuǎn),具有一定參考價值,需要的朋友可以了解下,希望能夠給你帶來幫助
    2021-10-10
  • 利用5分鐘快速搭建一個springboot項目的全過程

    利用5分鐘快速搭建一個springboot項目的全過程

    Spring Boot的監(jiān)控能夠使開發(fā)者更好地掌控應用程序的運行狀態(tài),下面這篇文章主要給大家介紹了關(guān)于如何利用5分鐘快速搭建一個springboot項目的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • SpringBoot集成slf4j+log4j2的示例代碼

    SpringBoot集成slf4j+log4j2的示例代碼

    這篇文章主要介紹了SpringBoot集成slf4j+log4j2的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Java基于websocket協(xié)議與netty實時視頻彈幕交互實現(xiàn)

    Java基于websocket協(xié)議與netty實時視頻彈幕交互實現(xiàn)

    本文主要介紹了Java基于websocket協(xié)議與netty實時視頻彈幕交互實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Flowable流程引擎API與服務(wù)

    Flowable流程引擎API與服務(wù)

    這篇文章主要介紹了Flowable流程引擎API與服務(wù),引擎API是與Flowable交互的最常用手段,總?cè)肟邳c是ProcessEngine,使用ProcessEngine,可以獲得各種提供工作流或BPM方法的服務(wù),下面我們來詳細了解
    2023-10-10
  • 創(chuàng)建網(wǎng)關(guān)項目(Spring Cloud Gateway)過程詳解

    創(chuàng)建網(wǎng)關(guān)項目(Spring Cloud Gateway)過程詳解

    這篇文章主要介紹了創(chuàng)建網(wǎng)關(guān)項目(Spring Cloud Gateway)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • Java不可變類機制淺析

    Java不可變類機制淺析

    所謂的不可變類是指這個類的實例一旦創(chuàng)建完成后,就不能改變其成員變量值。如JDK內(nèi)部自帶的很多不可變類:Interger、Long和String等。接下來通過本文給大家介紹Java不可變類機制,需要的朋友參考下
    2017-02-02
  • redis做服務(wù)間通信工具的項目示例

    redis做服務(wù)間通信工具的項目示例

    Redis是一種高效的服務(wù)間通信工具,它以鍵值對的形式存儲數(shù)據(jù),并支持多種數(shù)據(jù)類型和豐富的操作,本文主要介紹了redis做服務(wù)間通信工具的項目示例,感興趣的可以了解一下
    2023-08-08
  • 詳解Java分布式Session共享解決方案

    詳解Java分布式Session共享解決方案

    這篇文章主要介紹了詳解Java分布式Session共享解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • SpringBoot2整合ElasticJob框架過程詳解

    SpringBoot2整合ElasticJob框架過程詳解

    這篇文章主要介紹了SpringBoot2整合ElasticJob框架過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03

最新評論