@@ -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 ("://" );
0 commit comments