Все пользовательские теги Spring Integration имеют следующее описание:
<xsd:element name="router" type="routerType">
<xsd:annotation>
<xsd:documentation>
Defines a Consumer Endpoint for the
'org.springframework.integration.router.AbstractMessageProcessingRouter' implementation
that serves as an adapter for invoking a method on any
Spring-managed object as specified by the "ref" and "method" attributes.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
Итак, становится совершенно ясно, что нам нужна некоторая AbstractMessageProcessingRouter
реализация для присутствия в конфигурации Java.
Также в Справочном руководстве есть параграф, такой как this :
Благодаря конфигурации XML и поддержке пространства имен Spring Integration анализаторы XML скрывают, как целевые компоненты объявляются и соединяются вместе. Для конфигурации Java и аннотации важно понимать API-интерфейс Framework для целевых приложений конечного пользователя.
В соответствии с вашим expression="payload.name"
нам нужно найти ExpressionEvaluatingRouter
, а затем прочитать главу о @Bean
конфигурации :
@Bean
@Router(inputChannel = "channel_in")
public ExpressionEvaluatingRouter expressionRouter() {
ExpressionEvaluatingRouter router = new ExpressionEvaluatingRouter("payload.name");
router.setDefaultOutputChannelName("channel_default");
router.setChannelMapping("foo", "channel_one");
router.setChannelMapping("bar", "channel_two");
return router;
}