正版包邮spring响应式编程spring
73.3元
包邮
(需用券)
去购买 >
本文是精讲响应式WebClient第5篇,前篇的blog访问地址如下:
精讲响应式webclient第1篇-响应式非阻塞IO与基础用法
精讲响应式WebClient第2篇-GET请求阻塞与非阻塞调用方法详解
精讲响应式WebClient第3篇-POST、DELETE、PUT方法使用
精讲响应式WebClient第4篇-文件上传与下载
本文来为大家介绍一下,当WebClient请求发生异常的时候,该如何处理。为了讲解异常处理,我们需要先制造出异常,所以我们先为大家介绍:请求超时时长的设置。
一、请求超时时长的设置
要想模拟超时异常,我们首先要知道超时时长的正常配置渠道是怎么样的。如下文代码所示:
ChannelOption.CONNECT_TIMEOUT_MILLIS用来设置连接超时时长,单位是毫秒
ReadTimeoutHandler(5000, TimeUnit.MILLISECONDS)用来设置读数据超时时长,单位是毫秒
WriteTimeoutHandler(5000, TimeUnit.MILLISECONDS)用来设置写数据超时时长,单位是毫秒
//初始化一个WebClient
private WebClient getWebClient(){
TcpClient tcpClient = TcpClient
.create()
.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 5000)
.doOnConnected(connection -> {
connection.addHandlerLast(new ReadTimeoutHandler(5000, TimeUnit.MILLISECONDS));
connection.addHandlerLast(new WriteTimeoutHandler(5000, TimeUnit.MILLISECONDS));
});
return W