@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.