public interface QueryGateway extends MessageDispatchInterceptorSupport<QueryMessage<?,?>>
| Modifier and Type | Method and Description |
|---|---|
default <R,Q> CompletableFuture<R> |
query(Q query,
Class<R> responseType)
Sends given
query over the QueryBus, expecting a response with
the given responseType from a single source. |
default <R,Q> CompletableFuture<R> |
query(Q query,
ResponseType<R> responseType)
Sends given
query over the QueryBus, expecting a response in the
form of responseType from a single source. |
default <R,Q> CompletableFuture<R> |
query(String queryName,
Q query,
Class<R> responseType)
Sends given
query over the QueryBus, expecting a response with
the given responseType from a single source. |
<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. |
default <R,Q> Stream<R> |
scatterGather(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. |
<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. |
default <R,Q> org.reactivestreams.Publisher<R> |
streamingQuery(Q query,
Class<R> responseType)
|
<R,Q> org.reactivestreams.Publisher<R> |
streamingQuery(String queryName,
Q query,
Class<R> responseType)
|
default <Q,I,U> SubscriptionQueryResult<I,U> |
subscriptionQuery(Q query,
Class<I> initialResponseType,
Class<U> updateResponseType)
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). |
default <Q,I,U> SubscriptionQueryResult<I,U> |
subscriptionQuery(Q query,
ResponseType<I> initialResponseType,
ResponseType<U> updateResponseType)
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). |
default <Q,I,U> SubscriptionQueryResult<I,U> |
subscriptionQuery(String queryName,
Q query,
Class<I> initialResponseType,
Class<U> updateResponseType)
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). |
default <Q,I,U> SubscriptionQueryResult<I,U> |
subscriptionQuery(String queryName,
Q query,
ResponseType<I> initialResponseType,
ResponseType<U> updateResponseType)
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). |
<Q,I,U> SubscriptionQueryResult<I,U> |
subscriptionQuery(String queryName,
Q query,
ResponseType<I> initialResponseType,
ResponseType<U> updateResponseType,
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). |
default <Q,I,U> SubscriptionQueryResult<I,U> |
subscriptionQuery(String queryName,
Q query,
ResponseType<I> initialResponseType,
ResponseType<U> updateResponseType,
SubscriptionQueryBackpressure backpressure)
Deprecated.
in favour of using {
subscriptionQuery(String, Object, ResponseType, ResponseType)}.
To set a backpressure strategy, use one of the onBackpressure.. operators on the updates flux directly.
Example: result.updates().onBackpressureBuffer(100) |
<Q,I,U> SubscriptionQueryResult<I,U> |
subscriptionQuery(String queryName,
Q query,
ResponseType<I> initialResponseType,
ResponseType<U> updateResponseType,
SubscriptionQueryBackpressure backpressure,
int updateBufferSize)
Deprecated.
in favour of using {
subscriptionQuery(String, Object, ResponseType, ResponseType, int)}.
To set a backpressure strategy, use one of the onBackpressure.. operators on the updates flux directly.
Example: result.updates().onBackpressureBuffer(100) |
registerDispatchInterceptordefault <R,Q> CompletableFuture<R> query(@Nonnull Q query, @Nonnull Class<R> responseType)
query over the QueryBus, expecting a response with
the given responseType from a single source. The query name will be derived from the provided query. Execution may be asynchronous, depending on the QueryBus implementation.R - The response class contained in the given responseTypeQ - The query classquery - The query to be sentresponseType - A Class describing the desired response typeCompletableFuture containing the query result as dictated by the given
responseTypedefault <R,Q> CompletableFuture<R> query(@Nonnull String queryName, @Nonnull Q query, @Nonnull Class<R> responseType)
query over the QueryBus, expecting a response with
the given responseType from a single source. Execution may be asynchronous, depending on the QueryBus
implementation.R - 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
responseTypedefault <R,Q> CompletableFuture<R> query(@Nonnull Q query, @Nonnull ResponseType<R> responseType)
query over the QueryBus, expecting a response in the
form of responseType from a single source. The query name will be derived from the provided query. Execution may be asynchronous, depending on the QueryBus implementation.R - The response class contained in the given responseTypeQ - The query classquery - The query to be sentresponseType - The ResponseType used for this queryCompletableFuture containing the query result as dictated by the given
responseType<R,Q> CompletableFuture<R> query(@Nonnull String queryName, @Nonnull Q query, @Nonnull ResponseType<R> responseType)
query over the QueryBus, expecting a response in the
form of responseType from a single source. Execution may be asynchronous, depending on the QueryBus
implementation.R - 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
responseTypedefault <R,Q> org.reactivestreams.Publisher<R> streamingQuery(Q query,
Class<R> responseType)
query over the QueryBus, expecting a response
as Publisher of responseType.
Query is sent once Publisher is subscribed to.
The Streaming query allows a client to stream large result sets.
Usage of this method requires
Project Reactor
on the class path.
Publisher is used for backwards compatibility reason,
for clients that don't have Project Reactor on class path.
Check Reactor Extension
for native Flux type and more.
Use Flux.from(publisher) to convert to Flux stream.R - The response class contained in the given responseTypeQ - The query classquery - The query to be sentresponseType - A Class describing the desired response typePublisher streaming the results as dictated by the given
responseType<R,Q> org.reactivestreams.Publisher<R> streamingQuery(String queryName, Q query, Class<R> responseType)
query over the QueryBus, expecting a response
as Publisher of responseType.
Query is sent once Publisher is subscribed to.
The Streaming query allows a client to stream large result sets.
Usage of this method requires
Project Reactor
on the class path.
Publisher is used for backwards compatibility reason,
for clients that don't have Project Reactor on class path.
Check Reactor Extension
for native Flux type and more.
Use Flux.from(publisher) to convert to Flux stream.R - The response class contained in the given responseTypeQ - The query classqueryName - A String describing the query to be executedquery - The query to be sentresponseType - A Class describing the desired response typePublisher streaming the results as dictated by the given
responseType.default <R,Q> Stream<R> scatterGather(@Nonnull Q query, @Nonnull ResponseType<R> responseType, long timeout, @Nonnull TimeUnit timeUnit)
query 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. The query name will be derived from the provided query. Execution may be
asynchronous, depending on the QueryBus implementation.R - The response class contained in the given responseTypeQ - The query classquery - The query to be sentresponseType - The ResponseType used for this querytimeout - A timeout of long for the querytimeUnit - The selected TimeUnit for the given timeout<R,Q> Stream<R> scatterGather(@Nonnull String queryName, @Nonnull Q query, @Nonnull ResponseType<R> responseType, long timeout, @Nonnull TimeUnit timeUnit)
query 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.R - 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 timeoutdefault <Q,I,U> SubscriptionQueryResult<I,U> subscriptionQuery(@Nonnull Q query, @Nonnull Class<I> initialResponseType, @Nonnull Class<U> updateResponseType)
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).
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.
Q - The type of the queryI - The type of the initial responseU - The type of the incremental updatequery - The query to be sentinitialResponseType - The initial response type used for this queryupdateResponseType - The update response type used for this queryQueryBus.subscriptionQuery(SubscriptionQueryMessage),
QueryBus.subscriptionQuery(SubscriptionQueryMessage, int)default <Q,I,U> SubscriptionQueryResult<I,U> subscriptionQuery(@Nonnull String queryName, @Nonnull Q query, @Nonnull Class<I> initialResponseType, @Nonnull Class<U> updateResponseType)
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).
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.
Q - 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 queryQueryBus.subscriptionQuery(SubscriptionQueryMessage),
QueryBus.subscriptionQuery(SubscriptionQueryMessage, int)default <Q,I,U> SubscriptionQueryResult<I,U> subscriptionQuery(@Nonnull Q query, @Nonnull ResponseType<I> initialResponseType, @Nonnull ResponseType<U> updateResponseType)
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).
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.
Q - The type of the queryI - The type of the initial responseU - The type of the incremental updatequery - The query to be sentinitialResponseType - The initial response type used for this queryupdateResponseType - The update response type used for this queryQueryBus.subscriptionQuery(SubscriptionQueryMessage),
QueryBus.subscriptionQuery(SubscriptionQueryMessage, int)@Deprecated default <Q,I,U> SubscriptionQueryResult<I,U> subscriptionQuery(@Nonnull String queryName, @Nonnull Q query, @Nonnull ResponseType<I> initialResponseType, @Nonnull ResponseType<U> updateResponseType, @Nullable SubscriptionQueryBackpressure backpressure)
subscriptionQuery(String, Object, ResponseType, ResponseType)}.
To set a backpressure strategy, use one of the onBackpressure.. operators on the updates flux directly.
Example: result.updates().onBackpressureBuffer(100)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).
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.
Q - 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 updatesQueryBus.subscriptionQuery(SubscriptionQueryMessage),
QueryBus.subscriptionQuery(SubscriptionQueryMessage, SubscriptionQueryBackpressure, int)default <Q,I,U> SubscriptionQueryResult<I,U> subscriptionQuery(@Nonnull String queryName, @Nonnull Q query, @Nonnull ResponseType<I> initialResponseType, @Nonnull ResponseType<U> updateResponseType)
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).
Note: Any null results, on the initial result or the updates, will be 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.
Q - 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 queryQueryBus.subscriptionQuery(SubscriptionQueryMessage),
QueryBus.subscriptionQuery(SubscriptionQueryMessage, int)@Deprecated <Q,I,U> SubscriptionQueryResult<I,U> subscriptionQuery(@Nonnull String queryName, @Nonnull Q query, @Nonnull ResponseType<I> initialResponseType, @Nonnull ResponseType<U> updateResponseType, @Nullable SubscriptionQueryBackpressure backpressure, int updateBufferSize)
subscriptionQuery(String, Object, ResponseType, ResponseType, int)}.
To set a backpressure strategy, use one of the onBackpressure.. operators on the updates flux directly.
Example: result.updates().onBackpressureBuffer(100)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).
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.
Q - 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)<Q,I,U> SubscriptionQueryResult<I,U> subscriptionQuery(@Nonnull String queryName, @Nonnull Q query, @Nonnull ResponseType<I> initialResponseType, @Nonnull ResponseType<U> updateResponseType, int updateBufferSize)
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).
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.
Q - 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 queryupdateBufferSize - the size of buffer which accumulates updates before subscription to the flux
is madeQueryBus.subscriptionQuery(SubscriptionQueryMessage),
QueryBus.subscriptionQuery(SubscriptionQueryMessage, int)Copyright © 2010–2023. All rights reserved.