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