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

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

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

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

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

超時(shí)配置:

ribbon:

ConnectTimeout: 1000 #連接超時(shí)時(shí)間,毫秒

ReadTimeout: 1000 #邏輯處理超時(shí)時(shí)間,毫秒

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

server:
  port: 9000

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

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

provider超時(shí)2s測(cè)試

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

Feign其他功能-日志記錄

Feign 只能記錄 debug 級(jí)別的日志信息。

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

定義Feign日志級(jí)別Bean

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

啟用該Bean:

@FeignClient(configuration = XxxConfig.class)

修改consumer

#設(shè)置當(dāng)前的日志級(jí)別 debug,feign 只支持記錄debug級(jí)別的日志
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, 記錄基本的請(qǐng)求行,響應(yīng)狀態(tài)碼數(shù)據(jù)
     * HEADERS, 記錄基本的請(qǐng)求行,響應(yīng)狀態(tài)碼數(shù)據(jù),記錄響應(yīng)頭信息
     * FULL 記錄完整的請(qǐng)求,響應(yīng)數(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ā)錢遠(yuǎn)程調(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ù)提供的 應(yīng)用名稱
 *  3 編寫調(diào)用接口,接口的聲明規(guī)則和提供方接口保持一致
 *  4 注入該接口對(duì)象,調(diào)用接口方法完成遠(yuǎn)程調(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í)設(shè)置深入了解的文章就介紹到這了,更多相關(guān)Spring Feign超時(shí)設(shè)置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

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

    利用5分鐘快速搭建一個(gè)springboot項(xiàng)目的全過程

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

    SpringBoot集成slf4j+log4j2的示例代碼

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

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

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

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

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

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

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

    Java不可變類機(jī)制淺析

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

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

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

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

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

    SpringBoot2整合ElasticJob框架過程詳解

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

最新評(píng)論