Class ListenableActionFuture<T>

java.lang.Object
org.elasticsearch.action.support.SubscribableListener<T>
org.elasticsearch.action.support.ListenableActionFuture<T>
All Implemented Interfaces:
ActionListener<T>

public final class ListenableActionFuture<T> extends SubscribableListener<T>
An ActionListener which allows for the result to fan out to a (dynamic) collection of other listeners, added using SubscribableListener.addListener(org.elasticsearch.action.ActionListener<T>). Listeners added before completion are retained until completion; listeners added after completion are completed immediately. Similar to ListenableFuture and SubscribableListener except for its handling of exceptions: if this listener is completed exceptionally with an ElasticsearchException that is also an ElasticsearchWrapperException then it is unwrapped using ExceptionsHelper.unwrapCause(java.lang.Throwable); if the resulting exception is a checked exception then it is wrapped in an UncategorizedExecutionException. Moreover if this listener is completed exceptionally with a checked exception then it wraps the exception in an UncategorizedExecutionException whose cause is an ExecutionException, whose cause in turn is the checked exception. This matches the behaviour of PlainActionFuture.actionGet().