SpringBoot Java后端实现okhttp3超时设置

菜菜bu菜 2021-10-13 12:11:57
java 后端 SpringBoot 实现 okhttp3


SpringBoot Java后端实现okhttp3超时设置

前言

okhttp是一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司开发。OkHttp 是一个默认高效的 HTTP 客户端。OkHttp3是Java和Android都能用,Android还有一个著名网络库叫Volley,那个只有Android能用。

okttp3的github官方地址是:官方地址

  • HTTP/2 支持允许对同一主机的所有请求共享一个套接字。
  • 连接池减少了请求延迟(如果 HTTP/2 不可用)。
  • 透明 GZIP 可缩小下载大小。
  • 响应缓存完全避免网络重复请求。

OkHttp在网络出现问题时坚持:它会从常见的连接问题中默默恢复。如果您的服务有多个 IP 地址,如果第一次连接失败,OkHttp将尝试备用地址。这对于在冗余数据中心托管的 IPv4+IPv6 和服务是必需的。OkHttp 支持现代 TLS 功能(TLS1.3、ALPN、证书锁定)。它可以配置为回退以实现广泛的连接。

使用 OkHttp 很容易。它的请求/响应 API 设计有流畅的构建器和不变性。它支持同步阻塞调用和带有回调的异步调用。

导入

maven

<!-- ok http -->
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.2.2</version>
</dependency>

gradle方式

compile 'com.squareup.okhttp3:okhttp:4.2.2'

okhttp3方法简介

一共可以设置5个超时时间分别如下:关于OkHttp的超时时间

OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(30, TimeUnit.SECONDS)//连接超时(单位:秒)
.callTimeout(120, TimeUnit.SECONDS)//整个流程耗费的超时时间(单位:秒)--很少人使用
.pingInterval(5, TimeUnit.SECONDS)//websocket轮训间隔(单位:秒)
.readTimeout(60, TimeUnit.SECONDS)//读取超时(单位:秒)
.writeTimeout(60, TimeUnit.SECONDS)//写入超时(单位:秒)
.build();
api 描述 生效机制
callTimeout() 整个流程耗费的超时时间 AsyncTimeout + WatchDog实现
connectTimeout() 三次握手 + SSL建立耗时 socket.connect(address, connectTimeout)
readTimeout() source读取耗时\rawSocket读取耗时 source.timeout(readTimeout)AsyncTimeout + WatchDog实现\rawSocket.setSoTimeout(readTimeout)
writeTimeout() sink写入耗时 sink.timeout(writeTimeout)AsyncTimeout + WatchDog实现
pingInterval() websocket轮训间隔(单位:秒) 这个值只有http2和webSocket中有使用

两种版本超时设置用法

okhttp3要设置client.Builder

OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(15, TimeUnit.SECONDS)
.readTimeout(15,TimeUnit.SECONDS)
.writeTimeout(15,TimeUnit.SECONDS)
.build();

以前的版本设置client


client .connectTimeout(15, TimeUnit.SECONDS)
.readTimeout(15,TimeUnit.SECONDS)
.writeTimeout(15,TimeUnit.SECONDS)

在这里插入图片描述

版权声明
本文为[菜菜bu菜]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_46048515/article/details/120032790

  1. 五分鐘掌握用Vue脚手架搭建一個完整項目!
  2. ant design vue 設置錶格選擇框,全選按鈕選不全
  3. Cinq minutes pour construire un projet complet avec l'échafaudage vue!
  4. vuex中助手函数的几种使用技巧总结
  5. La nouvelle voiture roule à grande vitesse, le tableau de bord apparaît "tasse de café" prompt, directement au magasin 4S!
  6. Résumé de plusieurs techniques d'utilisation de la fonction Helper dans vuex
  7. Un disciple féminin est venu à guozijian: Zhuo Wenyuan a été complètement noirci, et le frère aîné de sang qi a été blessé par lui!
  8. JavaScript - - quatre façons de juger les types de données
  9. HTTPS|SSL笔记-SSL分手过程(Encrypted Alert)
  10. The film arrangement rate exceeds 40%, and the box office exceeds 390 million in less than two days! Why is Changjin lake?
  11. Nouvelle grande expérience de prise de vue en direct 2022 Geely Howe
  12. Apprenez à connaître CSS - Comment organiser votre code CSS
  13. Can the Zero run C11 with less than 200000 become the leader of medium-sized pure electric SUV?
  14. Https | SSL Notes - SSL break Process (encrypted Alert)
  15. HTTPS|SSL筆記-SSL分手過程(Encrypted Alert)
  16. Récemment, j'a i été interrogé par des fans sur les génériques Java, donc j'ai regardé en arrière et j'espère que l'entrevue de mon frère cadet se passera bien.
  17. Comment utiliser la nouvelle spécification es dans votre projet
  18. JavaScript - - orienté objet
  19. South Korean actress Liu Renna, wearing a white strapless skirt and walking on the red carpet, has a hot body and attracts eyes. She smiles so sweet
  20. Nginx (3): process model
  21. Projet Java: système de gestion du rendement des employés (Java + SSM + MySQL + Maven + HTML)
  22. CSS tips | one line of code to realize the integration of avatar and national flag
  23. Maotai and Paris Fashion Week joined hands to make Chinese elements appear on the show
  24. Wang Xiaoya showed up in a sleeveless skirt and reappeared her intellectual elegance. She was still full of temperament after leaving the nest CCTV
  25. Comment écrire un document de conception frontale
  26. Créer une api javascript haute performance avec Rust et l'exécuter dans webassembly
  27. Analyse de certains principes techniques clés du SDK de surveillance frontale
  28. Point de vue: la NFT de type portrait a formé un modèle d'entreprise. Quelles sont ses perspectives d'avenir et ses difficultés?
  29. Stars celebrate the motherland's birthday in patterns: Tang Yan Bixin, Liu Xiaoqing in military uniform, Zhao Liying and he Jiong send blessings
  30. L'amour entre Wing Mei et Luan Tree: de l'amour à première vue à l'amour éternel
  31. Disappeared car companies: tape measure is useless? Zhongtai is on the verge of death and has no way to return to heaven
  32. BUUCTF [极客大挑战 2019]Http
  33. element缓存到本地使用
  34. How can the volunteer army with less steel and more gas beat the American army with more steel and less gas? Changjin Lake gives you the answer
  35. CentOS installation source package nginx error
  36. Mise en cache des éléments pour utilisation locale
  37. Disappeared car companies: tape measure is useless? Zhongtai is on the verge of death and has no way to return to heaven
  38. He saifei est si naturel!58 ans est si beau, porter des vêtements de vieillesse pour accepter de vieillir!
  39. Finally pregnant! Seven years of pregnancy, collective blessing of the entertainment industry
  40. Wu Qili sent blessings on the national day. She looked haggard and thin on her own. It was worrying
  41. Error in spring source code compilation: the monoprocessor in reactor.core.publisher is outdated
  42. Buctf [geek Challenge 2019] http
  43. 20 个值得学习的 Vue 开源项目
  44. 20 projets open source à apprendre
  45. Scène et application de la manette des gaz anti - bavardage
  46. Qu'est - ce que j'ai gagné en abandonnant vue pour les six mois de React?
  47. À partir de [Bytecode cache] et de [http cache], intervieweur: « est - ce si mince? »
  48. [niveau intermédiaire et avancé] obligatoire, 30 + questions manuscrites à haute fréquence et réponses détaillées (dix mille caractères longs), voyez comment "vous" ne pouvez pas m'abattre
  49. Mise en œuvre d'un outil d'échafaudage universel pour l'ingénierie Web de 0 à 1
  50. 【中高级前端】必备,30+高频手写题及详细答案(万字长文),看“你”怎么难倒我
  51. In less than two days, the box office exceeded 400 million, and Changjin Lake broke out, breaking seven records in Chinese film history
  52. Tong Liya Jin Chen bumps her hair, Xie Na Zhao Liying bumps her shirt, and she sees EQ from the reaction
  53. react之组件生命周期
  54. L'équipe de vue dévoile un nouvel outil d'échafaudage rapide comme la foudre Create View, qui remplacera la vue CLI à l'avenir, avec seulement 300 lignes de code, apprenez - le!
  55. 20 dessins illustrant le fonctionnement du moteur de rendu du Navigateur
  56. In less than two days, the box office exceeded 400 million, and Changjin Lake broke out, breaking seven records in Chinese film history
  57. 千锋重庆web前端学习之理解CSS位置属性
  58. 什么是语义HTML标记以及如何使用它们?
  59. Si vous vous représentez avec un tableau, c'est le champ de Van Gogh.
  60. 前端面试手写代码