.withQueryOptions(queryOptions) .withSocketOptions(socketOptions) .withReconnectionPolicy(Policies.defaultReconnectionPolicy())
/** * Builds the final object from this builder. * * <p>Any field that hasn't been set explicitly will get its default value. * * @return the object. */ public Policies build() { return new Policies( loadBalancingPolicy == null ? defaultLoadBalancingPolicy() : loadBalancingPolicy, reconnectionPolicy == null ? defaultReconnectionPolicy() : reconnectionPolicy, retryPolicy == null ? defaultRetryPolicy() : retryPolicy, addressTranslator == null ? defaultAddressTranslator() : addressTranslator, timestampGenerator == null ? defaultTimestampGenerator() : timestampGenerator, speculativeExecutionPolicy == null ? defaultSpeculativeExecutionPolicy() : speculativeExecutionPolicy); } }
/** * Returns the reconnection balancing policy according with a given configuration. * * @param configuration the configuration. * @return the reconnection balancing policy according with a given configuration. */ private ReconnectionPolicy reconnectionPolicy(final Configuration<Map<String, Object>> configuration) { ReconnectionPolicy reconnectionPolicy = Policies.defaultReconnectionPolicy(); try { String reconnectionPolicyClassName = configuration.getAttribute(RECONNECTION_POLICY, null); if (reconnectionPolicyClassName != null) { reconnectionPolicy = (ReconnectionPolicy) Class.forName(reconnectionPolicyClassName).newInstance(); } } catch (final Exception ignore) { // just use the default value. } return reconnectionPolicy; }
/** * Returns the reconnection balancing policy according with a given configuration. * * @param configuration the configuration. * @return the reconnection balancing policy according with a given configuration. */ private ReconnectionPolicy reconnectionPolicy(final Configuration<Map<String, Object>> configuration) { ReconnectionPolicy reconnectionPolicy = Policies.defaultReconnectionPolicy(); try { String reconnectionPolicyClassName = configuration.getAttribute(RECONNECTION_POLICY, null); if (reconnectionPolicyClassName != null) { reconnectionPolicy = (ReconnectionPolicy) Class.forName(reconnectionPolicyClassName).newInstance(); } } catch (final Exception ignore) { // just use the default value. } return reconnectionPolicy; }
public Policies() { this(defaultLoadBalancingPolicy(), defaultReconnectionPolicy(), defaultRetryPolicy(), defaultAddressTranslater()); }
/** * Builds the final object from this builder. * <p/> * Any field that hasn't been set explicitly will get its default value. * * @return the object. */ public Policies build() { return new Policies( loadBalancingPolicy == null ? defaultLoadBalancingPolicy() : loadBalancingPolicy, reconnectionPolicy == null ? defaultReconnectionPolicy() : reconnectionPolicy, retryPolicy == null ? defaultRetryPolicy() : retryPolicy, addressTranslator == null ? defaultAddressTranslator() : addressTranslator, timestampGenerator == null ? defaultTimestampGenerator() : timestampGenerator, speculativeExecutionPolicy == null ? defaultSpeculativeExecutionPolicy() : speculativeExecutionPolicy); } }
/** * Builds the final object from this builder. * <p/> * Any field that hasn't been set explicitly will get its default value. * * @return the object. */ public Policies build() { return new Policies( loadBalancingPolicy == null ? Policies.defaultLoadBalancingPolicy() : loadBalancingPolicy, Objects.firstNonNull(reconnectionPolicy, Policies.defaultReconnectionPolicy()), Objects.firstNonNull(retryPolicy, Policies.defaultRetryPolicy()), Objects.firstNonNull(addressTranslator, Policies.defaultAddressTranslator()), Objects.firstNonNull(timestampGenerator, Policies.defaultTimestampGenerator()), Objects.firstNonNull(speculativeExecutionPolicy, Policies.defaultSpeculativeExecutionPolicy())); } }
/** * Builds the final object from this builder. * <p/> * Any field that hasn't been set explicitly will get its default value. * * @return the object. */ public Policies build() { return new Policies( loadBalancingPolicy == null ? Policies.defaultLoadBalancingPolicy() : loadBalancingPolicy, Objects.firstNonNull(reconnectionPolicy, Policies.defaultReconnectionPolicy()), Objects.firstNonNull(retryPolicy, Policies.defaultRetryPolicy()), Objects.firstNonNull(addressTranslator, Policies.defaultAddressTranslator()), Objects.firstNonNull(timestampGenerator, Policies.defaultTimestampGenerator()), Objects.firstNonNull(speculativeExecutionPolicy, Policies.defaultSpeculativeExecutionPolicy())); } }
/** * The configuration that will be used for the new cluster. * <p> * You <b>should not</b> modify this object directly because changes made * to the returned object may not be used by the cluster build. * Instead, you should use the other methods of this {@code Builder}. * * @return the configuration to use for the new cluster. */ @Override public Configuration getConfiguration() { Policies policies = new Policies( loadBalancingPolicy == null ? Policies.defaultLoadBalancingPolicy() : loadBalancingPolicy, reconnectionPolicy == null ? Policies.defaultReconnectionPolicy() : reconnectionPolicy, retryPolicy == null ? Policies.defaultRetryPolicy() : retryPolicy, addressTranslater == null ? Policies.defaultAddressTranslater() : addressTranslater ); return new Configuration(policies, new ProtocolOptions(port, protocolVersion, sslOptions, authProvider).setCompression(compression), poolingOptions == null ? new PoolingOptions() : poolingOptions, socketOptions == null ? new SocketOptions() : socketOptions, metricsEnabled ? new MetricsOptions(jmxEnabled) : null, queryOptions == null ? new QueryOptions() : queryOptions); }