List<String> seeds = configurator.getSeeds(); if (seeds == null || seeds.isEmpty()) { throw new RuntimeException("Cassandra seeds are missing"); if (configurator.getPort() != null) { clusterBuilder.withPort(configurator.getPort()); if (configurator.getLoadBalancingPolicy() != null) { clusterBuilder.withLoadBalancingPolicy(configurator.getLoadBalancingPolicy()); if (configurator.getReconnectionPolicy() != null) { clusterBuilder.withReconnectionPolicy(configurator.getReconnectionPolicy()); if (configurator.getPoolingOptions() != null) { clusterBuilder.withPoolingOptions(configurator.getPoolingOptions()); if (configurator.getSocketOptions() != null) { clusterBuilder.withSocketOptions(configurator.getSocketOptions()); if (configurator.getQueryOptions() != null) { clusterBuilder.withQueryOptions(configurator.getQueryOptions()); if (configurator.getMetricsOptions() != null) { if (!configurator.getMetricsOptions().isJMXReportingEnabled()) { clusterBuilder.withoutJMXReporting(); if (configurator.getAuthProvider() != null) { clusterBuilder.withAuthProvider(configurator.getAuthProvider());
@Inject public DefaultCassandraSession(Cluster.Builder clusterBuilder, CassandraConfigurator configurator, Vertx vertx) { this.clusterBuilder = clusterBuilder; this.configurator = configurator; this.vertx = vertx; this.metrics = new Metrics(this); configurator.onReady(result -> { if (result.failed()) { initResult = result; runOnReadyCallbacks(initResult); return; } try { init(configurator); } catch (Throwable t) { initResult = Future.failedFuture(t); runOnReadyCallbacks(initResult); } }); }
when(configurator.getLoadBalancingPolicy()).thenReturn(lbPolicy); PoolingOptions poolingOptions = mock(PoolingOptions.class); when(configurator.getPoolingOptions()).thenReturn(poolingOptions); SocketOptions socketOptions = mock(SocketOptions.class); when(configurator.getSocketOptions()).thenReturn(socketOptions); QueryOptions queryOptions = mock(QueryOptions.class); when(configurator.getQueryOptions()).thenReturn(queryOptions); MetricsOptions metricsOptions = mock(MetricsOptions.class); when(configurator.getMetricsOptions()).thenReturn(metricsOptions);
@Before public void setUp() { SettableFuture<Session> sessionFuture = SettableFuture.create(); when(vertx.getOrCreateContext()).thenReturn(context); doAnswer(invocation -> { Handler<Void> handler = (Handler<Void>) invocation.getArguments()[0]; handler.handle(null); return null; }).when(context).runOnContext(any()); when(clusterBuilder.build()).thenReturn(cluster); when(cluster.getConfiguration()).thenReturn(configuration); when(cluster.connectAsync()).thenReturn(sessionFuture); when(cluster.getMetadata()).thenReturn(metadata); when(cluster.closeAsync()).thenReturn(closeFuture); when(closeFuture.force()).thenReturn(closeFuture); when(configurator.getSeeds()).thenReturn(seeds); seeds.add("127.0.0.1"); when(session.getCluster()).thenReturn(cluster); when(session.prepareAsync(any(RegularStatement.class))).thenReturn(preparedStatementFuture); when(session.prepareAsync(anyString())).thenReturn(preparedStatementFuture); cassandraSession = new DefaultCassandraSession(clusterBuilder, configurator, vertx); verify(configurator).onReady(onReadyCaptor.capture()); onReadyCaptor.getValue().handle(Future.succeededFuture()); sessionFuture.set(session); }
List<String> seeds = configurator.getSeeds(); JsonArray arr = new JsonArray(); json.put("seeds", arr);
List<String> seeds = configurator.getSeeds(); JsonArray arr = new JsonArray(); json.put("seeds", arr);
List<String> seeds = configurator.getSeeds(); if (seeds == null || seeds.isEmpty()) { throw new RuntimeException("Cassandra seeds are missing"); if (configurator.getPort() != null) { clusterBuilder.withPort(configurator.getPort()); if (configurator.getLoadBalancingPolicy() != null) { clusterBuilder.withLoadBalancingPolicy(configurator.getLoadBalancingPolicy()); if (configurator.getReconnectionPolicy() != null) { clusterBuilder.withReconnectionPolicy(configurator.getReconnectionPolicy()); if (configurator.getPoolingOptions() != null) { clusterBuilder.withPoolingOptions(configurator.getPoolingOptions()); if (configurator.getSocketOptions() != null) { clusterBuilder.withSocketOptions(configurator.getSocketOptions()); if (configurator.getQueryOptions() != null) { clusterBuilder.withQueryOptions(configurator.getQueryOptions()); if (configurator.getMetricsOptions() != null) { if (!configurator.getMetricsOptions().isJMXReportingEnabled()) { clusterBuilder.withoutJMXReporting(); if (configurator.getAuthProvider() != null) { clusterBuilder.withAuthProvider(configurator.getAuthProvider());
@Inject public DefaultCassandraSession(Cluster.Builder clusterBuilder, CassandraConfigurator configurator, Vertx vertx) { this.clusterBuilder = clusterBuilder; this.configurator = configurator; this.vertx = vertx; this.metrics = new Metrics(this); configurator.onReady(result -> { if (result.failed()) { initResult = result; runOnReadyCallbacks(initResult); return; } try { init(configurator); } catch (Throwable t) { initResult = Future.failedFuture(t); runOnReadyCallbacks(initResult); } }); }
List<String> seeds = configurator.getSeeds(); JsonArray arr = new JsonArray(); json.putArray("seeds", arr);
protected void init(CassandraConfigurator configurator) { List<String> seeds = configurator.getSeeds(); if (seeds == null || seeds.isEmpty()) { throw new RuntimeException("Cassandra seeds are missing"); if (configurator.getLoadBalancingPolicy() != null) { clusterBuilder.withLoadBalancingPolicy(configurator.getLoadBalancingPolicy()); if (configurator.getReconnectionPolicy() != null) { clusterBuilder.withReconnectionPolicy(configurator.getReconnectionPolicy()); if (configurator.getPoolingOptions() != null) { clusterBuilder.withPoolingOptions(configurator.getPoolingOptions()); if (configurator.getSocketOptions() != null) { clusterBuilder.withSocketOptions(configurator.getSocketOptions()); if (configurator.getQueryOptions() != null) { clusterBuilder.withQueryOptions(configurator.getQueryOptions()); if (configurator.getMetricsOptions() != null) { if (!configurator.getMetricsOptions().isJMXReportingEnabled()) { clusterBuilder.withoutJMXReporting(); if (configurator.getAuthProvider() != null) { clusterBuilder.withAuthProvider(configurator.getAuthProvider());
@Inject public DefaultCassandraSession(Cluster.Builder clusterBuilder, CassandraConfigurator configurator, Vertx vertx) { this.clusterBuilder = clusterBuilder; this.configurator = configurator; this.vertx = vertx; this.metrics = new Metrics(this); configurator.onReady(result -> { if (result.failed()) { runOnReadyCallbacks(result); return; } init(configurator); }); }
@Test public void testCtorReadyFail() throws Exception { reset(configurator); DefaultCassandraSession cassandraSession = new DefaultCassandraSession(clusterBuilder, configurator, vertx); CompletableFuture<Void> future = new CompletableFuture<>(); onReadyFail.accept(cassandraSession, future); verify(configurator).onReady(onReadyCaptor.capture()); onReadyCaptor.getValue().handle(Future.failedFuture("Test fail")); future.get(); future = new CompletableFuture<>(); onReadyFail.accept(cassandraSession, future); future.get(); }
@Test public void testCtorInitFail() throws Exception { seeds.clear(); reset(configurator); DefaultCassandraSession cassandraSession = new DefaultCassandraSession(clusterBuilder, configurator, vertx); CompletableFuture<Void> future = new CompletableFuture<>(); onReadyFail.accept(cassandraSession, future); verify(configurator).onReady(onReadyCaptor.capture()); onReadyCaptor.getValue().handle(Future.succeededFuture()); future.get(); future = new CompletableFuture<>(); onReadyFail.accept(cassandraSession, future); future.get(); }