@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 |
|---|---|
java.lang.String |
autoStartup
The
SmartLifecycle autoStartup option. |
java.lang.String |
discardChannel |
java.lang.String |
inputChannel |
java.lang.String |
outputChannel |
java.lang.String |
phase
Specify a
SmartLifecycle phase option. |
Poller[] |
poller |
java.lang.String |
sendPartialResultsOnExpiry
Specify whether messages that expired should be aggregated and sent to the
outputChannel()
or replyChannel from message headers. |
java.lang.String |
sendTimeout
Specify the maximum amount of time in milliseconds to wait when sending a reply
Message to the outputChannel(). |
public abstract java.lang.String inputChannel
public abstract java.lang.String outputChannel
public abstract java.lang.String discardChannel
public abstract java.lang.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 java.lang.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 java.lang.String autoStartup
SmartLifecycle autoStartup option.
Can be specified as 'property placeholder', e.g. ${foo.autoStartup}.
Defaults to true.boolean flag.public abstract java.lang.String phase
SmartLifecycle phase option.
Defaults 0 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.