@Inject public DataStaxClusterImpl(final CassandraConfig cassandraFig ) throws Exception { this.cassandraConfig = cassandraFig; this.cluster = getCluster(); logger.info("Initialized datastax cluster client. Hosts={}, Idle Timeout={}s, Pool Timeout={}s", getCluster().getMetadata().getAllHosts().toString(), getCluster().getConfiguration().getPoolingOptions().getIdleTimeoutSeconds(), getCluster().getConfiguration().getPoolingOptions().getPoolTimeoutMillis() / 1000); // always initialize the keyspaces this.createApplicationKeyspace(false); this.createApplicationLocalKeyspace(false); }
ListenableFuture<Connection> connectionFuture = pool.borrowConnection( poolingOptions.getPoolTimeoutMillis(), TimeUnit.MILLISECONDS, poolingOptions.getMaxQueueSize());
poolingOptions.getPoolTimeoutMillis(), TimeUnit.MILLISECONDS, poolingOptions.getMaxQueueSize()); Futures.addCallback(connectionFuture, new FutureCallback<Connection>() {
poolingOptions.getPoolTimeoutMillis(), TimeUnit.MILLISECONDS, poolingOptions.getMaxQueueSize()); Futures.addCallback(connectionFuture, new FutureCallback<Connection>() {
poolingOptions.getPoolTimeoutMillis(), TimeUnit.MILLISECONDS, poolingOptions.getMaxQueueSize()); Futures.addCallback(connectionFuture, new FutureCallback<Connection>() {
@Override public void afterPropertiesSet() throws Exception { poolingOptions = configureRemoteHostDistancePoolingOptions( configureLocalHostDistancePoolingOptions(newPoolingOptions())); if (heartbeatIntervalSeconds != DEFAULT.getHeartbeatIntervalSeconds()) { poolingOptions.setHeartbeatIntervalSeconds(heartbeatIntervalSeconds); } if (idleTimeoutSeconds != DEFAULT.getIdleTimeoutSeconds()) { poolingOptions.setIdleTimeoutSeconds(idleTimeoutSeconds); } if (initializationExecutor != null) { poolingOptions.setInitializationExecutor(initializationExecutor); } if (poolTimeoutMilliseconds != DEFAULT.getPoolTimeoutMillis()) { poolingOptions.setPoolTimeoutMillis(poolTimeoutMilliseconds); } if (!isDefaultMaxQueueSize()) { SET_MAX_QUEUE_SIZE.ifPresent(method -> invokeMethod(method, poolingOptions, maxQueueSize)); } }
@Override public void afterPropertiesSet() throws Exception { poolingOptions = configureRemoteHostDistancePoolingOptions( configureLocalHostDistancePoolingOptions(newPoolingOptions())); if (heartbeatIntervalSeconds != DEFAULT.getHeartbeatIntervalSeconds()) { poolingOptions.setHeartbeatIntervalSeconds(heartbeatIntervalSeconds); } if (idleTimeoutSeconds != DEFAULT.getIdleTimeoutSeconds()) { poolingOptions.setIdleTimeoutSeconds(idleTimeoutSeconds); } if (initializationExecutor != null) { poolingOptions.setInitializationExecutor(initializationExecutor); } if (poolTimeoutMilliseconds != DEFAULT.getPoolTimeoutMillis()) { poolingOptions.setPoolTimeoutMillis(poolTimeoutMilliseconds); } if (!isDefaultMaxQueueSize() && SET_MAX_QUEUE_SIZE != null) { invokeMethod(SET_MAX_QUEUE_SIZE, poolingOptions, maxQueueSize); } }
config.getAdditionalProperty("idleTimeoutSeconds", poolOptions.getIdleTimeoutSeconds())); poolOptions.setPoolTimeoutMillis( config.getAdditionalProperty("poolTimeoutMillis", poolOptions.getPoolTimeoutMillis())); poolOptions.setHeartbeatIntervalSeconds( config.getAdditionalProperty("heartbeatIntervalSeconds", poolOptions.getHeartbeatIntervalSeconds()));