gpt4 book ai didi

spring-webflux - 使用 Jetty Http Client Reactor 时,HTTPS url 会导致 NPE

转载 作者:行者123 更新时间:2023-12-05 06:51:50 26 4
gpt4 key购买 nike

当使用带有 jetty-reactive-httpclient 1.1.4 和 spring-webflux 5.2.2 的 Jetty Http 客户端 v9.4.34.v20201102 时,sslContextFactory 被传递给 HttpClient 构造函数:

import org.eclipse.jetty.util.ssl.SslContextFactory.Client;
import org.eclipse.jetty.client.HttpClient;
import org.springframework.web.reactive.function.client.WebClient;

SslContextFactory.Client sslContextFactory = new SslContextFactory.Client();
HttpClient httpClient = new HttpClient(sslContextFactory);
...
WebClient.builder().clientConnector(buildClientConnector(httpClient)).build();

当发生 NPE 后尝试访问 https 端点时:

Caused by: java.lang.NullPointerException: Missing SslContextFactory
at java.base/java.util.Objects.requireNonNull(Objects.java:246)
at org.eclipse.jetty.io.ssl.SslClientConnectionFactory.<init>(SslClientConnectionFactory.java:54)
at org.eclipse.jetty.client.HttpClient.newSslClientConnectionFactory(HttpClient.java:1202)
at org.eclipse.jetty.client.HttpClient.newSslClientConnectionFactory(HttpClient.java:1208)
at org.eclipse.jetty.client.HttpDestination.newSslClientConnectionFactory(HttpDestination.java:149)
at org.eclipse.jetty.client.HttpDestination.newSslClientConnectionFactory(HttpDestination.java:155)
at org.eclipse.jetty.client.HttpDestination.<init>(HttpDestination.java:95)

最佳答案

我遇到了同样的错误,然后我使用 reactor-netty 代替 jetty-reactive-httpclient 为我解决了这个问题。 Gradle 代码-

//  implementation group: 'org.eclipse.jetty', name: 'jetty-reactive-httpclient'
implementation group: 'io.projectreactor.netty', name: 'reactor-netty'

关于spring-webflux - 使用 Jetty Http Client Reactor 时,HTTPS url 会导致 NPE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66062089/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com