@Target(value={METHOD,ANNOTATION_TYPE})
@Retention(value=RUNTIME)
@Documented
public @interface Splitter
A method annotated with @Splitter may accept a parameter of type
Message or of the expected
Message payload's type. Any type conversion supported by
SimpleTypeConverter will be applied to
the Message payload if necessary. Header values can also be passed as
Message parameters by using the
@Header parameter annotation.
Return values from the annotated method may be either a Collection or Array with elements of any type. If the type is not a Message, each will be used as the payload for creating a new Message.
| Modifier and Type | Optional Element and Description |
|---|---|
java.lang.String[] |
adviceChain
Specify a "chain" of
Advice beans that will "wrap" the message handler. |
java.lang.String |
applySequence
Set this flag to
false to prevent adding sequence related headers in this splitter. |
java.lang.String |
autoStartup
The
SmartLifecycle autoStartup option. |
java.lang.String |
inputChannel
Specify the channel from which this splitter will consume messages.
|
java.lang.String |
outputChannel
Specify the channel to which this splitter will send any replies.
|
java.lang.String |
phase
Specify a
SmartLifecycle phase option. |
Poller[] |
poller |
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
DirectChannel with this name will be
registered in the application context.public abstract java.lang.String outputChannel
public abstract java.lang.String applySequence
false to prevent adding sequence related headers in this splitter.
This can be convenient in cases where the set sequence numbers conflict with downstream
custom aggregations. When true, existing correlation and sequence related headers
are pushed onto a stack; downstream components, such as aggregators may pop
the stack to revert the existing headers after aggregation.
Defaults to true.
Can be specified as 'property placeholder', e.g. ${spring.integration.applySequence}.public abstract java.lang.String[] adviceChain
Advice beans that will "wrap" the message handler.
Only the handler is advised, not the downstream flow.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
fixed a 'capacity'. 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 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.