广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州OkHttps串行预处理器是什么?_北大青鸟IT学校

作者:邓华发布时间:2021-06-14分类:Java技术浏览:909


导读:相信大家在学习Java的过程都会遇到各种各样的问题,例如:OkHttps串行预处理器是什么?那么下面我们一起来看看惠州北大青鸟学术部老师是怎么回答的。

相信大家在学习Java的过程都会遇到各种各样的问题,例如:OkHttps串行预处理器是什么?那么下面我们一起来看看惠州北大青鸟学术部老师是怎么回答的。

  普通预处理器都是可并行处理的,然而有时我们希望某个预处理器同时只处理一个任务。比如 当Token过期时我们需要去刷新获取新Token,而刷新Token这个操作只能有一个任务去执行,因为如果n个任务同时执行的话,那么必有n-1个任务刚刷新得到的Token可能就立马失效了,而这是我们所不希望的。

  为了解决这个问题,OkHttps 提供了串行预处理器,它可以让 HTTP 任务排好队,一个一个地进入预处理器:

  1. HTTP http = HTTP.builder()

  2.         .addSerialPreprocessor((PreChain chain) -> {

  3.             HttpTask<?> task = chain.getTask();

  4.             if (!task.isTagged("Auth")) {

  5.                 chain.proceed();

  6.                 return;

  7.             }

  8.             // 检查过期,若需要则刷新Token

  9.             requestTokenAndRefreshIfExpired((String token) -> {

  10.                 task.addHeader("Token", token);

  11.                 chain.proceed();               // 调用此方法前,不会有其它任务进入该处理器

  12.             });

  13.         })

  14.         .build();

  串行预处理器实现了让HTTP任务排队串行处理的功能,但值得一提的是:它并没有因此而阻塞任何线程!

想知道更多关于Java的资讯,联系在线客服,或者来惠州北大青鸟新方舟校区了解了解。

Java15.jpg

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表