org.springframework.integration.annotation
Annotation Type Router


@Target(value=METHOD)
@Retention(value=RUNTIME)
@Inherited
@Documented
@Handler
public @interface Router

Indicates that a method is capable of resolving to a channel or channel name based on a message, message header(s), or both.

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.

Author:
Mark Fisher