首页 > 解决方案 > 使用spring框架RestClient调用HTTP请求在使用JRE 10签名的JAR中非常慢

问题描述

我在用着

import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;

URI uriScopeDep;
try {
    uriScopeDep = new URI(scriptUrl);
    HttpHeaders httpHeaders = new HttpHeaders();
    HttpEntity entity = new HttpEntity(httpHeaders);
    String body = restTemplate.exchange(uriScopeDep, 
    HttpMethod.GET, entity, String.class).getBody();
 ...
  1. 我用 JDK 8 编译,它工作正常。
  2. 我尝试在装有 JRE 8 的机器上运行编译后的 JDK 8 版本,它工作正常。
  3. 我在一台装有 JRE 10 的机器上试了一下,它工作正常。
  4. 1 天我们决定使用 Jar Signer,在 jar 被签名后(JDK 8),它仍然可以使用 JRE 8,但是一旦我将机器升级到 JRE 10 或使用 JRE 10 运行,HTTP 请求就会永远存在。

在 JRE 8 中调用这么多请求需要 30 秒。在 JRE 10 中需要 9 多分钟!任何人都可以帮助解决缓慢的问题吗?

标签: javaspringresttemplate

解决方案


推荐阅读