com.google.common.util.concurrent.Service.addListener()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(5.0k)|赞(0)|评价(0)|浏览(105)

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

Service.addListener介绍

[英]Registers a Listener to be Executor#execute on the given executor. The listener will have the corresponding transition method called whenever the service changes state. The listener will not have previous state changes replayed, so it is suggested that listeners are added before the service starts.

addListener guarantees execution ordering across calls to a given listener but not across calls to multiple listeners. Specifically, a given listener will have its callbacks invoked in the same order as the underlying service enters those states. Additionally, at most one of the listener's callbacks will execute at once. However, multiple listeners' callbacks may execute concurrently, and listeners may execute in an order different from the one in which they were registered.

RuntimeExceptions thrown by a listener will be caught and logged. Any exception thrown during Executor.execute (e.g., a RejectedExecutionException) will be caught and logged.
[中]将侦听器注册为执行器#在给定的执行器上执行。每当服务更改状态时,侦听器都会调用相应的转换方法。侦听器不会重播以前的状态更改,因此建议在服务启动之前添加侦听器。
addListener保证在对给定侦听器的调用之间执行顺序,但不能在对多个侦听器的调用之间执行顺序。具体地说,当底层服务进入这些状态时,给定的侦听器将以相同的顺序调用其回调。此外,最多一次执行一个侦听器回调。但是,多个侦听器的回调可能会同时执行,并且侦听器的执行顺序可能与它们注册时的顺序不同。
侦听器引发的运行时异常将被捕获并记录。Executor期间引发的任何异常。将捕获并记录Execution(例如,RejectedExecutionException)。

代码示例

代码示例来源:origin: google/guava

/** @since 13.0 */
@Override
public final void addListener(Listener listener, Executor executor) {
 delegate.addListener(listener, executor);
}

代码示例来源:origin: google/guava

/** @since 13.0 */
@Override
public final void addListener(Listener listener, Executor executor) {
 delegate.addListener(listener, executor);
}

代码示例来源:origin: google/j2objc

/** @since 13.0 */
@Override
public final void addListener(Listener listener, Executor executor) {
 delegate.addListener(listener, executor);
}

代码示例来源:origin: google/j2objc

/** @since 13.0 */
@Override
public final void addListener(Listener listener, Executor executor) {
 delegate.addListener(listener, executor);
}

代码示例来源:origin: wildfly/wildfly

/** @since 13.0 */
@Override
public final void addListener(Listener listener, Executor executor) {
 delegate.addListener(listener, executor);
}

代码示例来源:origin: wildfly/wildfly

/** @since 13.0 */
@Override
public final void addListener(Listener listener, Executor executor) {
 delegate.addListener(listener, executor);
}

代码示例来源:origin: google/guava

static RecordingListener record(Service service) {
 RecordingListener listener = new RecordingListener(service);
 service.addListener(listener, directExecutor());
 return listener;
}

代码示例来源:origin: google/guava

WeakReference<ServiceManagerState> stateReference = new WeakReference<>(state);
for (Service service : copy) {
 service.addListener(new ServiceListener(service, stateReference), directExecutor());

代码示例来源:origin: google/j2objc

WeakReference<ServiceManagerState> stateReference = new WeakReference<>(state);
for (Service service : copy) {
 service.addListener(new ServiceListener(service, stateReference), directExecutor());

代码示例来源:origin: wildfly/wildfly

WeakReference<ServiceManagerState> stateReference = new WeakReference<>(state);
for (Service service : copy) {
 service.addListener(new ServiceListener(service, stateReference), directExecutor());

代码示例来源:origin: org.hudsonci.lib.guava/guava

/**
 * @since 13.0
 */
@Override public final void addListener(Listener listener, Executor executor) {
 delegate.addListener(listener, executor);
}

代码示例来源:origin: org.jboss.eap/wildfly-client-all

/** @since 13.0 */
@Override
public final void addListener(Listener listener, Executor executor) {
 delegate.addListener(listener, executor);
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

/**
 * @since 13.0
 */
@Override public final void addListener(Listener listener, Executor executor) {
 delegate.addListener(listener, executor);
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-analytics

/**
 * @since 13.0
 */
@Override public final void addListener(Listener listener, Executor executor) {
 delegate.addListener(listener, executor);
}

代码示例来源:origin: org.kill-bill.billing/killbill-platform-osgi-bundles-logger

/** @since 13.0 */
@Override
public final void addListener(Listener listener, Executor executor) {
 delegate.addListener(listener, executor);
}

代码示例来源:origin: com.diffplug.guava/guava-concurrent

/**
 * @since 13.0
 */
@Override
public final void addListener(Listener listener, Executor executor) {
  delegate.addListener(listener, executor);
}

代码示例来源:origin: org.jboss.eap/wildfly-client-all

/** @since 13.0 */
@Override
public final void addListener(Listener listener, Executor executor) {
 delegate.addListener(listener, executor);
}

代码示例来源:origin: org.hudsonci.lib.guava/guava

/**
 * @since 13.0
 */
@Override public void addListener(Listener listener, Executor executor) {
 delegate().addListener(listener, executor);
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

/**
 * @since 13.0
 */
@Override public void addListener(Listener listener, Executor executor) {
 delegate().addListener(listener, executor);
}

代码示例来源:origin: org.apache.twill/twill-core

@Override
public final ListenableFuture<State> start() {
 serviceDelegate.addListener(listenerExecutors, Threads.SAME_THREAD_EXECUTOR);
 return serviceDelegate.start();
}

相关文章