Spring集成:如何全局而不是每个组件注入标头映射器

时间:2018-07-20 13:04:02

标签: spring-integration

我们需要跟踪Spring Integration的所有组件。为此,我需要在标头中添加一些数据,可以使用org.springframework.integration.mapping.HeaderMapper的任何实现来完成(例如:DefaultHttpHeaderMapper,DefaultJmsHeaderMapper,DefaultMailHeaderMapper,JmsHeaderMapper),然后使用header-mapper属性将其注入

有什么方法可以全局注入标头映射器,而不是将其单独注入所有组件中。

<int-jms:message-driven-channel-adapter id="jmsIn" channel="input_channel" destination-name="testqueue" header-mapper="testJMSHeaderMapper"/>

但是通过上述方法,我需要在每个组件中注入header-mapper。我们是否有任何优化的方法可以在一个地方进行配置?

1 个答案:

答案 0 :(得分:0)

创建一个BeanPostProcessor并将映射器添加到ChannelPublishingJmsMessageListener中所有类型为postProcessAfterInitialization的bean中。