【问题标题】:Filter out headers of AMQP message in AMQP inbound adapter在 AMQP 入站适配器中过滤掉 AMQP 消息的标头
【发布时间】:2020-10-09 17:54:37
【问题描述】:

鉴于我有IntegrationFlow

IntegrationFlows.from(
    Amqp.inboundAdapter(rabbitConnectionFactory, NTF_INCOMING_CMSF_EVENT_QUEUE)
            .messageConverter(new Jackson2JsonMessageConverter(jacksonObjectMapper))
)
    .get()

我想将HeaderFilter 应用到 AMQP 入站适配器,但我似乎只能在管道的后期进行。

是否可以过滤入站适配器中的标头?

【问题讨论】:

    标签: spring-integration spring-integration-dsl spring-integration-amqp


    【解决方案1】:

    这是可能的,但这已经被称为HeaderMapper

    查看Amqp.inboundAdapter()的这些选项:

    /**
     * Configure the adapter's {@link AmqpHeaderMapper};
     * defaults to {@link DefaultAmqpHeaderMapper}.
     * @param headerMapper the headerMapper.
     * @return the spec.
     */
    public S headerMapper(AmqpHeaderMapper headerMapper) {
        this.target.setHeaderMapper(headerMapper);
        return _this();
    }
    
    /**
     * Only applies if the default header mapper is used.
     * @param headers the headers.
     * @return the spec.
     * @see DefaultAmqpHeaderMapper#setRequestHeaderNames(String[])
     */
    public S mappedRequestHeaders(String... headers) {
    

    有关更多详细信息,请参阅DefaultAmqpHeaderMapper JavaDocs 和相应的参考手册:https://docs.spring.io/spring-integration/docs/5.3.2.RELEASE/reference/html/amqp.html#amqp-message-headers

    所以,您可能需要的是一个针对标头名称模式的否定运算符 (!)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-06
      • 1970-01-01
      • 2012-08-14
      • 2016-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多