public class DefaultQueryGateway extends Object implements QueryGateway
| Modifier and Type | Class and Description |
|---|---|
static class |
DefaultQueryGateway.Builder
Builder class to instantiate a
DefaultQueryGateway. |
| Modifier | Constructor and Description |
|---|---|
protected |
DefaultQueryGateway(DefaultQueryGateway.Builder builder)
Instantiate a
DefaultQueryGateway based on the fields contained in the DefaultQueryGateway.Builder. |
| Modifier and Type | Method and Description |
|---|---|
static DefaultQueryGateway.Builder |
builder()
Instantiate a Builder to be able to create a
DefaultQueryGateway. |
<R,Q> CompletableFuture<R> |
query(String queryName,
Q query,
ResponseType<R> responseType)
Sends given
query over the QueryBus, expecting a response in the
form of responseType from a single source. |
Registration |
registerDispatchInterceptor(MessageDispatchInterceptor<? super QueryMessage<?,?>> interceptor)
Register the given DispatchInterceptor.
|
<R,Q> Stream<R> |
scatterGather(String queryName,
Q query,
ResponseType<R> responseType,
long timeout,
TimeUnit timeUnit)
Sends given
query over the QueryBus, expecting a response in the
form of responseType from several sources. |
<Q,I,U> SubscriptionQueryResult<I,U> |
subscriptionQuery(String queryName,
Q query,
ResponseType<I> initialResponseType,
ResponseType<U> updateResponseType,
SubscriptionQueryBackpressure backpressure,
int updateBufferSize)
Sends given
query over the QueryBus and returns result containing initial response and
incremental updates (received at the moment the query is sent, until it is cancelled by the caller or closed by
the emitting side). |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitquery, query, query, scatterGather, subscriptionQuery, subscriptionQuery, subscriptionQuery, subscriptionQueryprotected DefaultQueryGateway(DefaultQueryGateway.Builder builder)
DefaultQueryGateway based on the fields contained in the DefaultQueryGateway.Builder.
Will assert that the QueryBus is not null, and will throw an AxonConfigurationException
if it is null.
builder - the DefaultQueryGateway.Builder used to instantiate a DefaultQueryGateway instancepublic static DefaultQueryGateway.Builder builder()
DefaultQueryGateway.
The dispatchInterceptors is defaulted to an empty list. The QueryBus is a
hard requirement and as such should be provided.
DefaultQueryGatewaypublic <R,Q> CompletableFuture<R> query(String queryName, Q query, ResponseType<R> responseType)
QueryGatewayquery over the QueryBus, expecting a response in the
form of responseType from a single source. Execution may be asynchronous, depending on the QueryBus
implementation.query in interface QueryGatewayR - The response class contained in the given responseTypeQ - The query classqueryName - A String describing the query to be executedquery - The query to be sentresponseType - The ResponseType used for this queryCompletableFuture containing the query result as dictated by the given
responseTypepublic <R,Q> Stream<R> scatterGather(String queryName, Q query, ResponseType<R> responseType, long timeout, TimeUnit timeUnit)
QueryGatewayquery over the QueryBus, expecting a response in the
form of responseType from several sources. The stream is completed when a timeout occurs or when
all results are received. Execution may be asynchronous, depending on the QueryBus implementation.scatterGather in interface QueryGatewayR - The response class contained in the given responseTypeQ - The query classqueryName - A String describing the query to be executedquery - The query to be sentresponseType - The ResponseType used for this querytimeout - A timeout of long for the querytimeUnit - The selected TimeUnit for the given timeoutpublic <Q,I,U> SubscriptionQueryResult<I,U> subscriptionQuery(String queryName, Q query, ResponseType<I> initialResponseType, ResponseType<U> updateResponseType, SubscriptionQueryBackpressure backpressure, int updateBufferSize)
QueryGatewayquery over the QueryBus and returns result containing initial response and
incremental updates (received at the moment the query is sent, until it is cancelled by the caller or closed by
the emitting side).
Note: Any null results, on the initial result or the updates, wil lbe filtered out by the
QueryGateway. If you require the null to be returned for the initial and update results, we suggest using
the QueryBus instead.
subscriptionQuery in interface QueryGatewayQ - The type of the queryI - The type of the initial responseU - The type of the incremental updatequeryName - A String describing query to be executedquery - The query to be sentinitialResponseType - The initial response type used for this queryupdateResponseType - The update response type used for this querybackpressure - The backpressure mechanism to deal with producing of incremental updatesupdateBufferSize - The size of buffer which accumulates updates before subscription to the flux
is madeQueryBus.subscriptionQuery(SubscriptionQueryMessage),
QueryBus.subscriptionQuery(SubscriptionQueryMessage, SubscriptionQueryBackpressure, int)public Registration registerDispatchInterceptor(MessageDispatchInterceptor<? super QueryMessage<?,?>> interceptor)
MessageDispatchInterceptorSupportregisterDispatchInterceptor in interface MessageDispatchInterceptorSupport<QueryMessage<?,?>>interceptor - The interceptor to registerCopyright © 2010–2019. All rights reserved.