8
私はSpringのインテグレーションを使用して、式の値がいずれのマッピングとも一致しない場合に、デフォルトの出力チャネルを使用するコンテンツベースのルータを実装したいと思います。しかし、デフォルトの出力チャネルが使用されることはありませんようだ春の統合:デフォルトの出力チャネルを持つコンテンツベースのルータ?
<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" />
:ここに私のBean定義です。式が例えばに評価される場合。 「バズ」は、ルータは代わりに「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名前空間を使用して、すべての可能な場合、または私が何をすべきかです私自身の実装をコード化する必要がありますか?
Spring Integration 2.1以上でこれを読んでいる場合は、ignore-channel-name-resolution-failuresが削除されています。 resolution-required = "false"を使用することで同じ効果を得ることができます。 http://static.springsource.org/spring-integration/reference/htmlsingle/#2.1-router-standardizationを参照してください。 – Joe