com.datastax.driver.core.Cluster.register()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(11.2k)|赞(0)|评价(0)|浏览(93)

本文整理了Java中com.datastax.driver.core.Cluster.register()方法的一些代码示例,展示了Cluster.register()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Cluster.register()方法的具体详情如下:
包路径:com.datastax.driver.core.Cluster
类名称:Cluster
方法名:register

Cluster.register介绍

[英]Registers the provided listener to be notified on hosts up/down/added/removed events.

Registering the same listener multiple times is a no-op.

This method should be used to register additional listeners on an already-initialized cluster. To add listeners to a cluster object prior to its initialization, use Builder#withInitialListeners(Collection). Calling this method on a non-initialized cluster will result in the listener being com.datastax.driver.core.Host.StateListener#onRegister(Cluster)twice of cluster registration: once inside this method, and once at cluster initialization.
[中]注册提供的侦听器,以便在主机启动/关闭/添加/删除事件时收到通知。
多次注册同一个侦听器是不可行的。
应使用此方法在已初始化的集群上注册其他侦听器。要在集群对象初始化之前向其添加侦听器,请使用Builder#with initiallisteners(集合)。在未初始化的集群上调用此方法将导致侦听器为com。数据税。驾驶员果心主办StateListener#onRegister(集群)两次集群注册:一次在此方法内,一次在集群初始化时。

代码示例

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Override
public void init(Cluster cluster) {
 cluster.register(percentileTracker);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Override
public void onRegister(Cluster cluster) {
 super.onRegister(cluster);
 cluster.register(percentileLatencyTracker);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Override
public void init(Cluster cluster, Collection<Host> hosts) {
 childPolicy.init(cluster, hosts);
 cluster.register(this.errorTracker);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Override
public Cluster register(LatencyTracker tracker) {
 return delegate().register(tracker);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Override
public Cluster register(Host.StateListener listener) {
 return delegate().register(listener);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Override
public Cluster register(SchemaChangeListener listener) {
 return delegate().register(listener);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "short")
public void should_log_regular_statements() throws Exception {
 // given
 normal.setLevel(DEBUG);
 queryLogger = QueryLogger.builder().withConstantThreshold(Long.MAX_VALUE).build();
 cluster().register(queryLogger);
 String query = "SELECT c_text FROM test WHERE pk = 42";
 session().execute(query);
 // then
 String line = normalAppender.waitAndGet(10000);
 assertThat(line)
   .contains("Query completed normally")
   .contains(ipOfNode(1))
   .contains(query)
   .doesNotContain("parameters");
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "short")
@CassandraVersion("2.0.0")
public void should_log_null_parameter_simple_statements() throws Exception {
 // given
 normal.setLevel(TRACE);
 queryLogger = QueryLogger.builder().build();
 cluster().register(queryLogger);
 // when
 String query = "UPDATE test SET c_text = ? WHERE pk = ?";
 SimpleStatement ss = new SimpleStatement(query, null, 42);
 session().execute(ss);
 // then
 String line = normalAppender.waitAndGet(10000);
 assertThat(line)
   .contains("Query completed normally")
   .contains(ipOfNode(1))
   .contains(query)
   .contains("42")
   .contains("NULL");
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "short")
@CassandraVersion("2.0.0")
public void should_log_non_null_positional_parameter_simple_statements() throws Exception {
 // given
 normal.setLevel(TRACE);
 queryLogger = QueryLogger.builder().build();
 cluster().register(queryLogger);
 // when
 String query = "UPDATE test SET c_text = ? WHERE pk = ?";
 SimpleStatement ss = new SimpleStatement(query, "foo", 42);
 session().execute(ss);
 // then
 String line = normalAppender.waitAndGet(10000);
 assertThat(line)
   .contains("Query completed normally")
   .contains(ipOfNode(1))
   .contains(query)
   .contains("42")
   .contains("'foo'");
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "short")
public void should_truncate_query_when_max_length_exceeded() throws Exception {
 // given
 normal.setLevel(DEBUG);
 queryLogger = QueryLogger.builder().withMaxQueryStringLength(5).build();
 cluster().register(queryLogger);
 // when
 String query = "SELECT * FROM test WHERE pk = 42";
 session().execute(query);
 // then
 String line = normalAppender.waitAndGet(10000);
 assertThat(line)
   .contains("Query completed normally")
   .contains(ipOfNode(1))
   .contains("SELEC" + TRUNCATED_OUTPUT)
   .doesNotContain(query);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "short")
public void should_not_truncate_query_when_max_length_unlimited() throws Exception {
 // given
 normal.setLevel(DEBUG);
 queryLogger = QueryLogger.builder().withMaxQueryStringLength(-1).build();
 cluster().register(queryLogger);
 // when
 String query = "SELECT * FROM test WHERE pk = 42";
 session().execute(query);
 // then
 String line = normalAppender.waitAndGet(10000);
 assertThat(line)
   .contains("Query completed normally")
   .contains(ipOfNode(1))
   .contains(query)
   .doesNotContain(TRUNCATED_OUTPUT);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "short")
@CassandraVersion("2.0.0")
public void should_log_all_parameters_when_max_unlimited_simple_statements() throws Exception {
 // given
 normal.setLevel(TRACE);
 queryLogger = QueryLogger.builder().withMaxLoggedParameters(-1).build();
 cluster().register(queryLogger);
 // when
 String query = "UPDATE test SET c_int = ? WHERE pk = ?";
 SimpleStatement ss = new SimpleStatement(query, 123456, 42);
 session().execute(ss);
 // then
 String line = normalAppender.waitAndGet(10000);
 assertThat(line)
   .contains("Query completed normally")
   .contains(ipOfNode(1))
   .contains("123456")
   .contains("42");
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "short")
public void should_log_queries_beyond_constant_threshold() throws Exception {
 // given
 slow.setLevel(DEBUG);
 queryLogger = builder().withConstantThreshold(10).build();
 cluster.register(queryLogger);
 String query = "SELECT foo FROM bar";
 primingClient.prime(
   queryBuilder().withQuery(query).withThen(then().withFixedDelay(100L)).build());
 // when
 session.execute(query);
 // then
 String line = slowAppender.waitAndGet(5000);
 assertThat(line).contains("Query too slow").contains(ip).contains(query);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "short")
@CassandraVersion("2.0.0")
public void should_not_log_exceeding_number_of_parameters_simple_statements() throws Exception {
 // given
 normal.setLevel(TRACE);
 queryLogger = QueryLogger.builder().withMaxLoggedParameters(1).build();
 cluster().register(queryLogger);
 // when
 String query = "UPDATE test SET c_int = ? WHERE pk = ?";
 SimpleStatement ss = new SimpleStatement(query, 123456, 42);
 session().execute(ss);
 // then
 String line = normalAppender.waitAndGet(10000);
 assertThat(line)
   .contains("Query completed normally")
   .contains(ipOfNode(1))
   .contains("123456")
   .doesNotContain("123456, 42")
   .contains(FURTHER_PARAMS_OMITTED);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "short")
@CassandraVersion("2.0.0")
public void should_truncate_blob_parameter_when_max_length_exceeded_simple_statements()
  throws Exception {
 // given
 normal.setLevel(TRACE);
 queryLogger = QueryLogger.builder().withMaxParameterValueLength(6).build();
 cluster().register(queryLogger);
 // when
 String query = "UPDATE test SET c_blob = ? WHERE pk = ?";
 SimpleStatement ss =
   new SimpleStatement(query, ByteBuffer.wrap(Bytes.toArray(Lists.newArrayList(1, 2, 3))), 42);
 session().execute(ss);
 // then
 String line = normalAppender.waitAndGet(10000);
 assertThat(line)
   .contains("Query completed normally")
   .contains(ipOfNode(1))
   .contains("0x0102" + TRUNCATED_OUTPUT)
   .doesNotContain("0x010203");
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@CassandraVersion("2.0.0")
@Test(groups = "short")
public void should_truncate_parameter_when_max_length_exceeded_simple_statements()
  throws Exception {
 // given
 normal.setLevel(TRACE);
 queryLogger = QueryLogger.builder().withMaxParameterValueLength(5).build();
 cluster().register(queryLogger);
 // when
 String query = "UPDATE test SET c_int = ? WHERE pk = ?";
 SimpleStatement ss = new SimpleStatement(query, 123456, 42);
 session().execute(ss);
 // then
 String line = normalAppender.waitAndGet(10000);
 assertThat(line)
   .contains("Query completed normally")
   .contains(ipOfNode(1))
   .contains("12345" + TRUNCATED_OUTPUT)
   .doesNotContain("123456");
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "short")
public void should_log_bound_statements() throws Exception {
 // given
 normal.setLevel(DEBUG);
 queryLogger = QueryLogger.builder().withConstantThreshold(Long.MAX_VALUE).build();
 cluster().register(queryLogger);
 String query = "SELECT * FROM test where pk = ?";
 PreparedStatement ps = session().prepare(query);
 BoundStatement bs = ps.bind(42);
 session().execute(bs);
 // then
 String line = normalAppender.waitAndGet(10000);
 assertThat(line)
   .contains("Query completed normally")
   .contains(ipOfNode(1))
   .contains(query)
   .doesNotContain("actual parameters");
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "short")
@CassandraVersion("2.0.0")
public void should_not_truncate_parameter_when_max_length_unlimited_simple_statements()
  throws Exception {
 // given
 normal.setLevel(TRACE);
 queryLogger = QueryLogger.builder().withMaxParameterValueLength(-1).build();
 cluster().register(queryLogger);
 // when
 String query = "UPDATE test SET c_int = ? WHERE pk = ?";
 SimpleStatement ss = new SimpleStatement(query, 123456, 42);
 session().execute(ss);
 // then
 String line = normalAppender.waitAndGet(10000);
 assertThat(line)
   .contains("Query completed normally")
   .contains(ipOfNode(1))
   .contains("123456")
   .doesNotContain(TRUNCATED_OUTPUT);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "short")
public void should_log_all_parameter_types_bound_statements() throws Exception {
 // given
 normal.setLevel(TRACE);
 queryLogger = QueryLogger.builder().withMaxParameterValueLength(Integer.MAX_VALUE).build();
 cluster().register(queryLogger);
 // when
 String query = "UPDATE test SET " + assignments + " WHERE pk = 42";
 PreparedStatement ps = session().prepare(query);
 BoundStatement bs = ps.bind(values.toArray());
 session().execute(bs);
 // then
 String line = normalAppender.waitAndGet(10000);
 assertThat(line).contains("Query completed normally").contains(ipOfNode(1)).contains(query);
 CodecRegistry codecRegistry = cluster().getConfiguration().getCodecRegistry();
 for (DataType type : dataTypes) {
  TypeCodec<Object> codec = codecRegistry.codecFor(type);
  assertThat(line).contains(codec.format(getFixedValue(type)));
 }
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "long")
public void should_receive_events_when_node_states_change() throws InterruptedException {
 TestListener listener = new TestListener();
 cluster().register(listener);
 listener.setExpectedEvent(ADD);
 ccm().add(2);
 ccm().start(2);
 listener.waitForEvent();
 listener.setExpectedEvent(DOWN);
 ccm().forceStop(1);
 listener.waitForEvent();
 listener.setExpectedEvent(UP);
 ccm().start(1);
 listener.waitForEvent();
 listener.setExpectedEvent(REMOVE);
 ccm().decommission(2);
 listener.waitForEvent();
}

相关文章