Skip to content

Commit 6348983

Browse files
authored
Merge pull request #52 from IvanZhilyakov28/request_timeout_setup_fix
Request timeout fix
2 parents 779c997 + 437bc3e commit 6348983

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

src/main/java/org/sourcelab/kafka/connect/apiclient/Configuration.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public final class Configuration {
3131

3232
// Optional Connection options
3333
private int requestTimeoutInSeconds = 300;
34+
private int connectionTimeToLiveInSeconds = 300;
3435

3536
// Optional BasicAuth options
3637
private String basicAuthUsername = null;
@@ -164,6 +165,16 @@ public Configuration useRequestTimeoutInSeconds(final int requestTimeoutInSecond
164165
return this;
165166
}
166167

168+
/**
169+
* Sets maximum time to live for persistent connections
170+
* @param connectionTimeToLiveInSeconds How long before persistent connection will be interrupted, in seconds
171+
* @return Configuration instance.
172+
*/
173+
public Configuration useConnectionTimeToLiveInSeconds(final int connectionTimeToLiveInSeconds) {
174+
this.connectionTimeToLiveInSeconds = connectionTimeToLiveInSeconds;
175+
return this;
176+
}
177+
167178
public String getProxyHost() {
168179
return proxyHost;
169180
}
@@ -204,6 +215,10 @@ public int getRequestTimeoutInSeconds() {
204215
return requestTimeoutInSeconds;
205216
}
206217

218+
public int getConnectionTimeToLiveInSeconds() {
219+
return connectionTimeToLiveInSeconds;
220+
}
221+
207222
public File getKeyStoreFile() {
208223
return keyStoreFile;
209224
}
@@ -224,7 +239,8 @@ public String getBasicAuthPassword() {
224239
public String toString() {
225240
final StringBuilder stringBuilder = new StringBuilder("Configuration{")
226241
.append("apiHost='").append(apiHost).append('\'')
227-
.append(", requestTimeout='").append(requestTimeoutInSeconds).append('\'');
242+
.append(", requestTimeout='").append(requestTimeoutInSeconds).append('\'')
243+
.append("connectionTimeToLiveInSeconds='").append(connectionTimeToLiveInSeconds).append('\'');
228244
if (proxyHost != null) {
229245
stringBuilder
230246
.append(", proxy='").append(proxyScheme).append("://");

src/main/java/org/sourcelab/kafka/connect/apiclient/rest/HttpClientRestClient.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,14 +110,16 @@ public void init(final Configuration configuration) {
110110
final HttpClientBuilder clientBuilder = HttpClientBuilder.create();
111111
clientBuilder
112112
// Define timeout
113-
.setConnectionTimeToLive(configuration.getRequestTimeoutInSeconds(), TimeUnit.SECONDS)
113+
.setConnectionTimeToLive(configuration.getConnectionTimeToLiveInSeconds(), TimeUnit.SECONDS)
114114

115115
// Define SSL Socket Factory instance.
116116
.setSSLSocketFactory(httpsContextBuilder.createSslSocketFactory());
117117

118118
// Define our RequestConfigBuilder
119119
final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
120120

121+
requestConfigBuilder.setConnectTimeout(configuration.getRequestTimeoutInSeconds() * 1_000);
122+
121123
// Define our Credentials Provider
122124
final CredentialsProvider credsProvider = new BasicCredentialsProvider();
123125

0 commit comments

Comments
 (0)