小编use*_*244的帖子

Apache HttpClient 4.5:连接重置

我正在使用 httpClient 4.5 版与我们的外部供应商站点连接。我们不需要任何连接池或持久连接,所以我使用 BasicHttpClientConnectionManager 来创建 HttpClient。

这适用于最少数量的请求,但如果我测试 1TPS 1 小时,在测试结束时,我们开始看到间歇性连接重置。(猜测请求数 > 100)

处理对 {s}-> https://apiURL:443 的请求时捕获 I/O 异常 (java.net.SocketException) :连接重置

请在下面找到用于建立连接的代码片段。

SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(kmf.getKeyManagers(), new X509TrustManager[] { new DefaultTrustManager() }, new SecureRandom());
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext, new String[] { "TLSv1.2" }, null,SSLConnectionSocketFactory.getDefaultHostnameVerifier());
Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create()
                .register("https", sslsf).register("http", new PlainConnectionSocketFactory()).build();

HttpClientConnectionManager connectionManager = new BasicHttpClientConnectionManager(socketFactoryRegistry);
HttpRequestRetryHandler retryHandler = new DefaultHttpRequestRetryHandler(1, false);

RequestConfig defaultRequestConfig = RequestConfig.custom().setSocketTimeout(Integer.parseInt(30000)).setConnectTimeout(Integer.parseInt(30000)).setConnectionRequestTimeout(30000).setCookieSpec(CookieSpecs.STANDARD).build();

CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(connectionManager).setDefaultRequestConfig(defaultRequestConfig).setRetryHandler(retryHandler).evictExpiredConnections().build();

HttpPost httpPost = new HttpPost(<endpoint>);
httpPost.setEntity(new …
Run Code Online (Sandbox Code Playgroud)

java https httpclient apache-httpclient-4.x

6
推荐指数
1
解决办法
8273
查看次数

从存在于数组列表中的哈希图中消除空键

我正在寻找一种优化的解决方案来nullHashMap. 此 HashMap 存在于ArrayList. 请在下面找到示例。

public class Car {
    String year;
    String model;
    Map<String,String> colors;
}

List<Car> listOfCars = new ArrayList<Car>();
Run Code Online (Sandbox Code Playgroud)

颜色图的示例可能是这样的:

{
   red(1),
   blue(2),
   green(3),
   black(4),
   null(5)
}
Run Code Online (Sandbox Code Playgroud)

我需要一个解决方案来迭代listOfCars,获取颜色图并null从中删除键。试图查看 Java8 中的任何其他选项,而不是使用迭代器。

谢谢!

java arraylist hashmap java-8

5
推荐指数
1
解决办法
2243
查看次数