Я бы хотел использовать Spring Integration для реализации основанного на контенте маршрутизатора, который использует выходной канал по умолчанию, если значение выражения не соответствует ни одному из сопоставлений.Вот мое определение бина:
<int:router input-channel="channel_in" default-output-channel="channel_default" expression="payload.name">
<int:mapping value="foo" channel="channel_one" />
<int:mapping value="bar" channel="channel_two" />
Однако, похоже, выходной канал по умолчанию никогда не используется.Если выражение оценивается, например, как «baz», маршрутизатор, похоже, ищет канал с именем «baz» вместо маршрутизации на канал «channel_default»:
org.springframework.integration.MessagingException: failed to resolve channel name 'baz'
Caused by: org.springframework.integration.support.channel.ChannelResolutionException:
failed to look up MessageChannel bean with name 'baz'
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException:
No bean named 'baz' is defined
То, что я хочу, вообще возможноиспользуя пространство имен XML, или мне нужно кодировать мою собственную реализацию?