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