gpt4 book ai didi

java - Spring 集成 |使用 Java 配置的 header 丰富器

转载 作者:行者123 更新时间:2023-11-30 08:53:14 26 4
gpt4 key购买 nike

什么是 Java 配置 等同于以下 header 丰富器:-

<!-- Business Entity Header Enricher -->
<int:header-enricher
id="businessEntityHeaderEnricherComponent"
should-skip-nulls="false"
output-channel="notificationPreferencesInputChannel"
input-channel="newUserCreatedChannel">

<!-- Tenant -->
<int:header name="tenant"
<!-- !! HEADER ENRICHMENT ID DONE BY SPRING MANAGED BEAN !! -->
ref="businessEntityPayloadHeaderEnricher"
method="extractTenant" />


</int:header-enricher>

我有一个 Spring 管理的 @Bean,它的方法(返回一个 Map)应该负责丰富消息头。

我知道我也可以使用 spring-integration-dsl 但截至目前我需要坚持使用 Java 配置。

例如,这就是我使用 Java 配置定义服务激活器的方式:-

    @Bean
@ServiceActivator(requiresReply = "false", inputChannel = "lifeCycleRouterChannel")
public InvoiceDelinquencyServiceActivator serviceActivator() {
return new InvoiceDelinquencyServiceActivator();
}

定义 Header Enricher 的等效方法是什么?找不到任何示例/引用。

谢谢。

最佳答案

HeaderEnricher 实现了 Transformer,因此您可以这样做:

@Bean
@Transformer(inputChannel = "enrichChannel", outputChannel = "processChannel")
public HeaderEnricher headerEnricher() {
HeaderEnricher headerEnricher = new HeaderEnricher (...);
....
return headerEnricher;
}

关于java - Spring 集成 |使用 Java 配置的 header 丰富器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29849743/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com