@Target(value={METHOD,ANNOTATION_TYPE}) @Retention(value=RUNTIME) @Documented public @interface Aggregator
A method annotated with @Aggregator may accept a collection of Messages or Message payloads and should return a single Message or a single Object to be used as a Message payload.
| Modifier and Type | Optional Element and Description |
|---|---|
String |
autoStartup
The
SmartLifecycle autoStartup option. |
String |
discardChannel |
String |
inputChannel |
String |
outputChannel |
String |
phase
Specify a
SmartLifecycle phase option. |
Poller[] |
poller |
String |
sendPartialResultsOnExpiry
Specify whether messages that expired should be aggregated and sent to the
outputChannel()
or replyChannel from message headers. |
String |
sendTimeout
Specify the maximum amount of time in milliseconds to wait when sending a reply
Message to the outputChannel(). |
public abstract String inputChannel
public abstract String outputChannel
public abstract String discardChannel
public abstract String sendTimeout
Message to the outputChannel().
Defaults to -1 - blocking indefinitely.
It is applied only if the output channel has some 'sending' limitations, e.g.
QueueChannel with
a fixed 'capacity' and is currently full.
In this case a MessageDeliveryException is thrown.
The 'sendTimeout' is ignored in case of
AbstractSubscribableChannel implementations.
Can be specified as 'property placeholder', e.g. ${spring.integration.sendTimeout}.public abstract String sendPartialResultsOnExpiry
outputChannel()
or replyChannel from message headers. Messages are expired when their containing
MessageGroup expires. One of the ways of expiring MessageGroups
is by configuring a MessageGroupStoreReaper.
However MessageGroups can alternatively be expired by simply calling
MessageGroupStore.expireMessageGroup(groupId). That could be accomplished via a ControlBus operation
or by simply invoking that method if you have a reference to the
MessageGroupStore instance.
Defaults to false.
* Can be specified as 'property placeholder', e.g. ${spring.integration.sendPartialResultsOnExpiry}.public abstract String autoStartup
SmartLifecycle autoStartup option.
Can be specified as 'property placeholder', e.g. ${foo.autoStartup}.
Defaults to true.boolean flag.public abstract String phase
SmartLifecycle phase option.
Defaults Integer.MAX_VALUE / 2 for PollingConsumer
and Integer.MIN_VALUE for EventDrivenConsumer.
Can be specified as 'property placeholder', e.g. ${foo.phase}.SmartLifecycle phase.public abstract Poller[] poller
Poller options for a polled endpoint
(PollerMetadata).
This attribute is an array just to allow an empty default (no poller).
Only one Poller element is allowed.