@@ -74,6 +74,7 @@ public abstract class InternalArangoDBBuilder {
7474 private static final String PROPERTY_KEY_MAX_CONNECTIONS = "arangodb.connections.max" ;
7575 private static final String PROPERTY_KEY_CONNECTION_TTL = "arangodb.connections.ttl" ;
7676 private static final String PROPERTY_KEY_ACQUIRE_HOST_LIST = "arangodb.acquireHostList" ;
77+ private static final String PROPERTY_KEY_ACQUIRE_HOST_LIST_INTERVAL = "arangodb.acquireHostList.interval" ;
7778 private static final String PROPERTY_KEY_LOAD_BALANCING_STRATEGY = "arangodb.loadBalancingStrategy" ;
7879 private static final String DEFAULT_PROPERTY_FILE = "/arangodb.properties" ;
7980
@@ -92,9 +93,12 @@ public abstract class InternalArangoDBBuilder {
9293 protected ArangoSerializer serializer ;
9394 protected ArangoDeserializer deserializer ;
9495 protected Boolean acquireHostList ;
96+ protected Integer acquireHostListInterval ;
9597 protected LoadBalancingStrategy loadBalancingStrategy ;
9698 protected ArangoSerialization customSerializer ;
9799
100+
101+
98102 public InternalArangoDBBuilder () {
99103 super ();
100104 vpackBuilder = new VPack .Builder ();
@@ -133,6 +137,7 @@ protected void loadProperties(final Properties properties) {
133137 maxConnections = loadMaxConnections (properties , maxConnections );
134138 connectionTtl = loadConnectionTtl (properties , connectionTtl );
135139 acquireHostList = loadAcquireHostList (properties , acquireHostList );
140+ acquireHostListInterval = loadAcquireHostListInterval (properties , acquireHostListInterval );
136141 loadBalancingStrategy = loadLoadBalancingStrategy (properties , loadBalancingStrategy );
137142 }
138143
@@ -196,7 +201,7 @@ protected HostResolver createHostResolver(final Collection<Host> hosts, final in
196201
197202 if (acquireHostList ) {
198203 LOGGER .debug ("acquireHostList -> Use ExtendedHostResolver" );
199- return new ExtendedHostResolver (new ArrayList <Host >(hosts ), maxConnections , connectionFactory );
204+ return new ExtendedHostResolver (new ArrayList <Host >(hosts ), maxConnections , connectionFactory , acquireHostListInterval );
200205 } else {
201206 LOGGER .debug ("Use SimpleHostResolver" );
202207 return new SimpleHostResolver (new ArrayList <Host >(hosts ));
@@ -295,6 +300,11 @@ private static Boolean loadAcquireHostList(final Properties properties, final Bo
295300 ArangoDefaults .DEFAULT_ACQUIRE_HOST_LIST ));
296301 }
297302
303+ private static int loadAcquireHostListInterval (final Properties properties , final Integer currentValue ) {
304+ return Integer .parseInt (getProperty (properties , PROPERTY_KEY_ACQUIRE_HOST_LIST_INTERVAL , currentValue ,
305+ ArangoDefaults .DEFAULT_ACQUIRE_HOST_LIST_INTERVAL ));
306+ }
307+
298308 private static LoadBalancingStrategy loadLoadBalancingStrategy (
299309 final Properties properties ,
300310 final LoadBalancingStrategy currentValue ) {
0 commit comments