Spring integration Spring集成:将标头enricher与通道适配器关联

Spring integration Spring集成:将标头enricher与通道适配器关联,spring-integration,Spring Integration,在我的应用程序中,几个jms:message-drivenchanneladapter实例都输出到同一个内部通道。我想将不同的头enricher与每个通道适配器相关联。有办法做到这一点吗 以下代码显示了如何将标头enricher与jms:message-driven通道适配器输出到的内部通道相关联: <jms:message-driven-channel-adapter id="J1" destination="Q1" channel="in1"/> <int:header-e

在我的应用程序中,几个jms:message-drivenchanneladapter实例都输出到同一个内部通道。我想将不同的头enricher与每个通道适配器相关联。有办法做到这一点吗

以下代码显示了如何将标头enricher与jms:message-driven通道适配器输出到的内部通道相关联:

<jms:message-driven-channel-adapter id="J1" destination="Q1" channel="in1"/>
<int:header-enricher input-channel="in1" output-channel="out1">
     <int:header name="fromAdapter" value="1"/>
</int:header-enricher>

但是,这在我的场景中不起作用,在我的场景中,所有通道适配器都使用相同的内部通道。如果能够在通道适配器内部定义标头enricher,那就太好了。是否有其他方法将适配器和enricher链接在一起


谢谢

无论如何,不同的标题充实器应该有不同的输入通道。您可以提供一些路由逻辑,并使用
为您的标头充实器提供请求-回复流:

<chain input-channel="in1" output-channel="out1">
    <gateway request-channel="enrichement"/>
</chain>

<router input-channel="enrichement">
    <mapping channel="he1" value=""/>
    ...
</router>

<header-enricher input-channel="he1">
...
</header-enricher>

<header-enricher input-channel="he2">
...
</header-enricher>
....
<header-enricher input-channel="heN">
...
</header-enricher>

...
...
...
....
...