|
20 | 20 |
|
21 | 21 | package com.arangodb;
|
22 | 22 |
|
23 |
| -import com.arangodb.entity.*; |
| 23 | +import com.arangodb.entity.ArangoDBEngine; |
| 24 | +import com.arangodb.entity.ArangoDBVersion; |
| 25 | +import com.arangodb.entity.LoadBalancingStrategy; |
| 26 | +import com.arangodb.entity.LogEntity; |
| 27 | +import com.arangodb.entity.LogLevelEntity; |
| 28 | +import com.arangodb.entity.Permissions; |
| 29 | +import com.arangodb.entity.ServerRole; |
| 30 | +import com.arangodb.entity.UserEntity; |
24 | 31 | import com.arangodb.internal.ArangoContext;
|
25 | 32 | import com.arangodb.internal.ArangoDBImpl;
|
26 | 33 | import com.arangodb.internal.ArangoDefaults;
|
27 | 34 | import com.arangodb.internal.InternalArangoDBBuilder;
|
28 | 35 | import com.arangodb.internal.http.HttpCommunication;
|
29 | 36 | import com.arangodb.internal.http.HttpConnectionFactory;
|
30 |
| -import com.arangodb.internal.net.*; |
| 37 | +import com.arangodb.internal.net.ConnectionFactory; |
| 38 | +import com.arangodb.internal.net.Host; |
| 39 | +import com.arangodb.internal.net.HostHandle; |
| 40 | +import com.arangodb.internal.net.HostHandler; |
| 41 | +import com.arangodb.internal.net.HostResolver; |
31 | 42 | import com.arangodb.internal.util.ArangoDeserializerImpl;
|
32 | 43 | import com.arangodb.internal.util.ArangoSerializationFactory;
|
33 | 44 | import com.arangodb.internal.util.ArangoSerializerImpl;
|
|
42 | 53 | import com.arangodb.util.ArangoDeserializer;
|
43 | 54 | import com.arangodb.util.ArangoSerialization;
|
44 | 55 | import com.arangodb.util.ArangoSerializer;
|
45 |
| -import com.arangodb.velocypack.*; |
| 56 | +import com.arangodb.velocypack.VPack; |
| 57 | +import com.arangodb.velocypack.VPackAnnotationFieldFilter; |
| 58 | +import com.arangodb.velocypack.VPackAnnotationFieldNaming; |
| 59 | +import com.arangodb.velocypack.VPackDeserializer; |
| 60 | +import com.arangodb.velocypack.VPackInstanceCreator; |
| 61 | +import com.arangodb.velocypack.VPackJsonDeserializer; |
| 62 | +import com.arangodb.velocypack.VPackJsonSerializer; |
| 63 | +import com.arangodb.velocypack.VPackModule; |
| 64 | +import com.arangodb.velocypack.VPackParser; |
| 65 | +import com.arangodb.velocypack.VPackParserModule; |
| 66 | +import com.arangodb.velocypack.VPackSerializer; |
| 67 | +import com.arangodb.velocypack.ValueType; |
46 | 68 | import com.arangodb.velocystream.Request;
|
47 | 69 | import com.arangodb.velocystream.Response;
|
48 | 70 | import org.apache.http.client.HttpRequestRetryHandler;
|
@@ -248,6 +270,19 @@ public Builder connectionTtl(final Long connectionTtl) {
|
248 | 270 | return this;
|
249 | 271 | }
|
250 | 272 |
|
| 273 | + /** |
| 274 | + * Set the keep-alive interval for VST connections. If set, every VST connection will perform a no-op request every |
| 275 | + * {@code keepAliveInterval} seconds, to avoid to be closed due to inactivity by the server (or by the external |
| 276 | + * environment, eg. firewall, intermediate routers, operating system). |
| 277 | + * |
| 278 | + * @param keepAliveInterval interval in seconds |
| 279 | + * @return {@link ArangoDB.Builder} |
| 280 | + */ |
| 281 | + public Builder keepAliveInterval(final Integer keepAliveInterval) { |
| 282 | + setKeepAliveInterval(keepAliveInterval); |
| 283 | + return this; |
| 284 | + } |
| 285 | + |
251 | 286 | /**
|
252 | 287 | * Whether or not the driver should acquire a list of available coordinators in an ArangoDB cluster or a single
|
253 | 288 | * server with active failover.
|
@@ -600,7 +635,7 @@ public synchronized ArangoDB build() {
|
600 | 635 | final int max = maxConnections != null ? Math.max(1, maxConnections) : protocolMaxConnections;
|
601 | 636 |
|
602 | 637 | final ConnectionFactory connectionFactory = (protocol == null || Protocol.VST == protocol)
|
603 |
| - ? new VstConnectionFactorySync(host, timeout, connectionTtl, useSsl, sslContext) |
| 638 | + ? new VstConnectionFactorySync(host, timeout, connectionTtl, keepAliveInterval, useSsl, sslContext) |
604 | 639 | : new HttpConnectionFactory(timeout, user, password, useSsl, sslContext, hostnameVerifier, custom,
|
605 | 640 | protocol, connectionTtl, httpCookieSpec, httpRequestRetryHandler);
|
606 | 641 |
|
|
0 commit comments