如何解决Java Micronaut - 在我多次击中端点后抛出“javax.net.ssl.SSLHandshakeException”
我有一个简单的 micronaut 应用。
我有两个单独的端点,其中执行的方法将使用客户端调用 API(我已经尝试了来自“java.net.http.HttpClient”和“io.micronaut.http.client.RxHttpClient”的 http 客户端"但同样的问题发生)。
当您在启动应用程序后点击任何端点时,该函数将按预期执行,其中客户端调用外部 API 并以字符串形式检索响应。如果你再次尝试点击同一个端点,它会抛出:
“javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure。”
我认为这不是 API 服务器端的问题,原因如下:
- 当我使用两个单独的外部 API 访问两个单独的端点时会发生此问题
- 请求第一次通过没问题
- 我可以在 postman 中使用相同的 API 而不会出错 - 只有当我与客户端调用它们时才会出现问题。
我的控制器:
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;
import io.micronaut.http.HttpResponse;
import javax.inject.Inject;
import java.io.IOException;
import static io.micronaut.http.HttpRequest.GET;
@Controller("/api")
public class DeckController {
@Inject
private DeckService deckService;
@Get(value = "/drawRx")
public HttpResponse<Card> drawCardRx(){
deckService.drawCardRx("ijhhxvxwn63g",1);
return HttpResponse.ok();
}
}
我的一项服务,其中客户端调用 API:
public void drawCardRx(String deckId,int amount){
final String newDeckUrl = "/deck/"+deckId+"/draw/?count="+amount;
Disposable result = this.httpClient
.retrieve( GET(newDeckUrl))
.subscribe(data -> System.out.println(data));
return;
}
就像我说的,我第一次到达端点时,响应从服务器返回,没有问题。
我已经尝试了以下文章并遵循了这些步骤,但没有任何改进。
https://www.baeldung.com/java-ssl-handshake-failures
How to solve javax.net.ssl.SSLHandshakeException Error?
有什么我遗漏的吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。