下面列出了怎么用com.mongodb.event.CommandListener的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public MongoClientWrapperBuilder addCommandListener(@Nullable final CommandListener commandListener) {
if (null != commandListener) {
mongoClientSettingsBuilder.addCommandListener(commandListener);
}
return this;
}
@Override
public void customize(MongoClientSettings.Builder clientSettingsBuilder) {
super.customize(clientSettingsBuilder);
CommandListener listener = clientSettingsBuilder.build().getCommandListeners()
.get(0);
listener.commandStarted(new CommandStartedEvent(0, null, "", "",
BDDMockito.mock(BsonDocument.class)));
listener.commandSucceeded(new CommandSucceededEvent(1, null, "",
BDDMockito.mock(BsonDocument.class), 100));
}
@Test public void commandListener_returnsTraceMongoCommandListener() {
Tracer tracer = mock(Tracer.class);
when(tracing.tracer()).thenReturn(tracer);
CommandListener listener = MongoDBTracing.newBuilder(tracing).build().commandListener();
assertThat(listener).isInstanceOf(TraceMongoCommandListener.class);
assertThat(listener).extracting("threadLocalSpan").extracting("tracer").isEqualTo(tracer);
}
@Nullable
private static CommandListener getCommandListenerOrNull(final MongoDbConfig.MonitoringConfig monitoringConfig) {
return monitoringConfig.isCommandsEnabled() ? new KamonCommandListener(KAMON_METRICS_PREFIX) : null;
}
@Nullable
private static CommandListener getCommandListenerOrNull(final MongoDbConfig.MonitoringConfig monitoringConfig) {
return monitoringConfig.isCommandsEnabled() ? new KamonCommandListener(KAMON_METRICS_PREFIX) : null;
}
public CommandListener commandListener() {
return new TraceMongoCommandListener(this);
}
/**
* Adds a custom CommandListener.
*
* @param commandListener the listener to be added.
* @return this builder instance to allow method chaining.
*/
GeneralPropertiesStep addCommandListener(@Nullable CommandListener commandListener);