V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  V2Q  ›  全部回复第 7 页 / 共 8 页
回复总数  155
1  2  3  4  5  6  7  8  
2022-04-16 18:08:04 +08:00
回复了 fox0001 创建的主题 Java 关于 Spring 5 的 WebClient 的困惑
最近刚好在用这个,也找了很多,最佳实践是否需要根据自己的场景来呢?可能也有不足的地方,希望懂的大佬提出。

我这边需要对接不同厂家,每个厂家的服务会部署在多个机器上,以下是我的配置

这是 WebClient.Builder 以下配置根据自己情况修改

```java
@Configuration
@EnableWebFlux
@Slf4j
public class WebFluxConfig {

@Bean
public WebClient.Builder getWebClientBuilder() {
//配置固定大小连接池
ConnectionProvider connectionProvider = ConnectionProvider.create("DS-connection", 20);
//设置 ssl 信任客户端
SslContext sslContext = null;
try {
sslContext = SslContextBuilder.forClient()
.trustManager(InsecureTrustManagerFactory.INSTANCE).build();
} catch (SSLException e) {
e.printStackTrace();
}
SslContext finalSslContext = sslContext;
HttpClient httpClient = HttpClient.create(connectionProvider).secure(t -> t.sslContext(finalSslContext))
.tcpConfiguration(tcpClient -> tcpClient.doOnConnect(conn ->
//读超时 30 秒
conn.handler(new ReadTimeoutHandler(30, TimeUnit.SECONDS))
//写超时 30 秒
.handler(new WriteTimeoutHandler(30, TimeUnit.SECONDS))
)
//连接超时 60 秒
.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 60000)
.option(ChannelOption.TCP_NODELAY, true));

return WebClient.builder().clientConnector(new ReactorClientHttpConnector( httpClient));
}
}
```

不同的厂商 参数 如果是固定的 可以通过读取配置完成

```java
@Component
public class Test {

@Autowired
private WebClient.Builder webClientBuilder;

/**
* @param uri
* @param parameter
* @return
*/
public Mono<HashMap> get(String url, String token, String uri, Object... parameter) throws Exception {
return null;
}

/**
* @param uri
* @return
*/
public Mono<HashMap> get(String url, String token, String uri) throws Exception {
return null;
}

/**
* @param uri
* @param parameter
* @return
*/
public Mono<HashMap> post(String url, String token, String uri, Object parameter) throws Exception {
return null;
}
}
```

异常我是抛出在同一个地方统一处理

最后我觉得 还是需要根据你的实际场景来,我也是第一次用这个,RestTemplate 就向上面说的没有新增加了,推荐使用 webclient ,所以才想尝试一下用的这个,项目主要还是 springmvc ,希望能帮助到你。
2022-03-17 19:08:57 +08:00
回复了 sciel 创建的主题 文学 好美的诗句 送给大家
@pipiking an an an....ao ao ao 结尾差点
2022-03-15 10:59:30 +08:00
回复了 season8 创建的主题 健康 二郎腿戒断法
@liuxingdeyu 也有可能是腿短
2022-02-22 16:04:58 +08:00
回复了 CrazyDudo 创建的主题 程序员 程序员做饭指南的项目竟然火了!
@tianxin12138 确实,真是会做饭的人,会根据实际情况来处理的,比如豆瓣酱比较咸的,盐很可能少放或不放了。
2021-12-03 16:13:58 +08:00
回复了 kdj9 创建的主题 音乐 秋高气爽心情好,给自己整理了一份葬礼歌单
Hai Kerry Ma Song Dai Bor
2021-09-30 16:42:26 +08:00
回复了 imydou 创建的主题 小米 吐槽下小米净水器,体验极差
当时为了买净水器,网上也搜了搜,v 站也有很多关于这方面的讨论,最后决定 DIY 一个,淘宝上可以找哈。
https://www.zhihu.com/question/375741917/answer/1240101988 这个可以参考一下。
2021-06-03 16:09:39 +08:00
回复了 BryanYue 创建的主题 京东 还是京东
6.1 号晚上下单,有一个第二天到了,还有两个现在都还没有发货,确认是自营(京东发货&售后,211 限时达),结果今天去看订单,出现个"期望配送日期",明天才到。找客服,说是自己选的,关键是我都没有选。如果真的选了“期望配送日期”,那么应该三个一起到呀。哎。。
2020-06-23 18:34:15 +08:00
回复了 ChenXuting 创建的主题 宠物 养了只白色的博美,征集名字
俊杰(介)
2020-05-22 12:15:53 +08:00
回复了 DowneyLam 创建的主题 生活 过敏性鼻炎
以前没有,现在有了,怀疑和体质差有关系。
2020-04-16 18:24:44 +08:00
回复了 dragonsunmoon 创建的主题 求职 深圳,大龄程序员,求好公司,好老板,好团队收留🙏🙏🙏
楼主加油!
2020-04-02 18:05:06 +08:00
回复了 JJstyle 创建的主题 生活 有什么综艺节目适合吃饭的时候看的?
当然是小喇叭啊
谢谢,已买
2020-03-25 19:45:24 +08:00
回复了 ansenJ 创建的主题 职场话题 迫于每天都要按照半小时为单位写日报
牲口啊
2020-02-28 22:43:32 +08:00
回复了 zxc1234 创建的主题 程序员 springboot 一般会问啥
建议先从 Spring 开始,了解源码
2020-01-06 18:01:18 +08:00
回复了 qq258076067 创建的主题 问与答 求一个腕表 app 的名字,有红包
表子查(查表子)
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1821 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 43ms · UTC 00:33 · PVG 08:33 · LAX 17:33 · JFK 20:33
Developed with CodeLauncher
♥ Do have faith in what you're doing.