Annotation Interface Router
 A method annotated with @Router 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
 whose elements are either
 channels or
 Strings. In the latter case, the endpoint hosting this router will attempt
 to resolve each channel name with the Channel Registry or with
 channelMappings(), if provided.
- Author:
- Mark Fisher, Artem Bilan, Chris Bono
- 
Optional Element SummaryOptional ElementsModifier and TypeOptional ElementDescriptionSpecify whether sequence number and size headers should be added to each Message.TheSmartLifecycleautoStartupoption.String[]The 'key=value' pairs to represent channelMapping entries.Specify the channel to which this router will send messages for which destination channels are not resolved andresolutionRequired()is false.If set totrue, failures to send to a message channel will be ignored.Specify the channel from which this router will consume messages.Specify aSmartLifecyclephaseoption.Specify a prefix to be added to each channel name prior to resolution.Specify whether channel names must always be successfully resolved to existing channel instances.Specify the maximum amount of time in milliseconds to wait when sending a replyMessageto theoutputChannel.Specify a suffix to be added to each channel name prior to resolution.
- 
Element Details- 
inputChannelString inputChannelSpecify the channel from which this router will consume messages. If the channel does not exist, aDirectChannelwith this name will be registered in the application context.- Returns:
- The channel name.
 - Default:
- ""
 
- 
defaultOutputChannelString defaultOutputChannelSpecify the channel to which this router will send messages for which destination channels are not resolved andresolutionRequired()is false.- Returns:
- The channel name.
 - Default:
- ""
 
- 
channelMappingsString[] channelMappingsThe 'key=value' pairs to represent channelMapping entries.- Returns:
- the channelMappings.
- See Also:
 - Default:
- {}
 
- 
prefixString prefixSpecify a prefix to be added to each channel name prior to resolution.- Returns:
- the prefix.
 - Default:
- ""
 
- 
suffixString suffixSpecify a suffix to be added to each channel name prior to resolution.- Returns:
- the suffix.
 - Default:
- ""
 
- 
resolutionRequiredString resolutionRequiredSpecify whether channel names must always be successfully resolved to existing channel instances.If set to true(default), aMessagingExceptionwill be raised in case the channel cannot be resolved. Setting this attribute tofalse, will cause any unresolvable channels to be ignored. Can be specified as 'property placeholder', e.g.${spring.integration.resolutionRequired}.- Returns:
- the resolution required flag.
 - Default:
- ""
 
- 
applySequenceString applySequenceSpecify whether sequence number and size headers should be added to each Message. Defaults tofalse. Can be specified as 'property placeholder', e.g.${spring.integration.applySequence}.- Returns:
- the apply sequence flag.
 - Default:
- ""
 
- 
ignoreSendFailuresString ignoreSendFailuresIf set totrue, failures to send to a message channel will be ignored. If set tofalse(default), aMessageDeliveryExceptionwill be thrown instead, and if the router resolves more than one channel, any subsequent channels will not receive the message. Please be aware that when using direct channels (single threaded), send-failures can be caused by exceptions thrown by components much further down-stream. Can be specified as 'property placeholder', e.g.${spring.integration.ignoreSendFailures}.- Returns:
- the ignore send failures flag.
 - Default:
- ""
 
- 
sendTimeoutString sendTimeoutSpecify the maximum amount of time in milliseconds to wait when sending a replyMessageto theoutputChannel. Defaults to30seconds. It is applied only if the output channel has some 'sending' limitations, e.g.QueueChannelwith fixed a 'capacity'. In this case aMessageDeliveryExceptionis thrown. The 'sendTimeout' is ignored in case ofAbstractSubscribableChannelimplementations. Can be specified as 'property placeholder', e.g.${spring.integration.sendTimeout}.- Returns:
- The timeout for sending results to the reply target (in milliseconds)
 - Default:
- ""
 
- 
autoStartupString autoStartupTheSmartLifecycleautoStartupoption. Can be specified as 'property placeholder', e.g.${foo.autoStartup}. Defaults totrue.- Returns:
- the auto startup booleanflag.
 - Default:
- ""
 
- 
phaseString phaseSpecify aSmartLifecyclephaseoption. DefaultsInteger.MAX_VALUE / 2forPollingConsumerandInteger.MIN_VALUEforEventDrivenConsumer. Can be specified as 'property placeholder', e.g.${foo.phase}.- Returns:
- the SmartLifecyclephase.
 - Default:
- ""
 
- 
pollerPoller poller- Returns:
- the Polleroptions for a polled endpoint (PollerMetadata). Mutually exclusive withreactive().
 - Default:
- @org.springframework.integration.annotation.Poller("\n\t\t\n\t\t\n\ue000\ue001\ue002\n\t\t\t\t\n")
 
- 
reactive
 
-