Spring Integration Java DSL - 类HeaderEnricher和HeaderEnricherSpec之间的区别是什么

时间:2017-06-20 15:31:54

标签: spring-integration spring-integration-dsl

我正在学习用于Spring集成的Java8之前的DSL,并尝试了我项目中现有集成组件的一些示例。对于标题更丰富,我遇到了两个类,HeaderEnricher和HeaderEnricherSpec。

这些类有什么不同,我观察到HeaderEnricherSpec扩展了HeaderEnricher类。在这种情况下,IntegrationComponentSpec如何提供帮助。

1 个答案:

答案 0 :(得分:0)

HeaderEnricherSpecHeaderEnricher构建器模式实现。

一般代码如下:

public class HeaderEnricherSpec extends IntegrationComponentSpec<HeaderEnricherSpec, HeaderEnricher> {
   ...
   @Override
    protected HeaderEnricher doGet() {
        HeaderEnricher headerEnricher =
                new HeaderEnricher(new HashMap<String, HeaderValueMessageProcessor<?>>(this.headerToAdd));
        headerEnricher.setDefaultOverwrite(this.defaultOverwrite);
        headerEnricher.setShouldSkipNulls(this.shouldSkipNulls);
        headerEnricher.setMessageProcessor(this.messageProcessor);
        return headerEnricher;
    }
}

IntegrationComponentSpec是&#34;超级&#34;具有Integration组件的任何规范的公共属性的构建器。