Skip to content

Commit cb4e437

Browse files
committed
Set default connection, socket, and request timeout
1 parent 77ef17b commit cb4e437

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

wls-exporter-core/src/main/java/com/oracle/wls/exporter/WebClientImpl.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2017, 2020, Oracle and/or its affiliates.
1+
// Copyright 2017, 2025, Oracle and/or its affiliates.
22
// Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
33

44
package com.oracle.wls.exporter;
@@ -16,6 +16,7 @@
1616

1717
import org.apache.http.Header;
1818
import org.apache.http.HttpEntity;
19+
import org.apache.http.client.config.RequestConfig;
1920
import org.apache.http.client.methods.CloseableHttpResponse;
2021
import org.apache.http.client.methods.HttpGet;
2122
import org.apache.http.client.methods.HttpPost;
@@ -45,6 +46,9 @@
4546
* @author Russell Gold
4647
*/
4748
public class WebClientImpl extends WebClientCommon {
49+
// Create default connect, socket, and request timeout.
50+
// Previously, these timeouts were unlimited. Consider making configurable later, if needed.
51+
private static final int TIMEOUT = 5000; // 5 seconds
4852

4953
private final List<BasicHeader> addedHeaders = new ArrayList<>();
5054
private final List<BasicHeader> sessionHeaders = new ArrayList<>();
@@ -137,11 +141,16 @@ HttpClientExec createClientExec() throws GeneralSecurityException {
137141
class ApacheHttpClient implements HttpClientExec {
138142
private final CloseableHttpClient client;
139143
public ApacheHttpClient() throws GeneralSecurityException {
140-
SelfSignedCertificateAcceptor acceptor = new SelfSignedCertificateAcceptor();
144+
RequestConfig config = RequestConfig.custom()
145+
.setConnectTimeout(TIMEOUT)
146+
.setSocketTimeout(TIMEOUT)
147+
.setConnectionRequestTimeout(TIMEOUT)
148+
.build(); SelfSignedCertificateAcceptor acceptor = new SelfSignedCertificateAcceptor();
141149
client = HttpClientBuilder.create()
142150
.setDefaultHeaders(getDefaultHeaders())
143151
.setSSLSocketFactory(acceptor.getSslConnectionSocketFactory())
144152
.setConnectionManager(acceptor.getConnectionManager())
153+
.setDefaultRequestConfig(config)
145154
.build();
146155
}
147156

0 commit comments

Comments
 (0)