gpt4 book ai didi

java - 如何仅使用 Java (JavaConfig) 实现 Spring 集成 Content Enricher?

转载 作者:太空宇宙 更新时间:2023-11-04 13:33:37 25 4
gpt4 key购买 nike

我正在尝试找到最好的 Java 唯一配置方式

org.springframework.integration.transformer.ContentEnricher

它是消息转换系列的一部分,但没有实现 Transformer(如 HeaderEnricher 那样),但我发现这仍然有效:

@Bean
@Transformer(inputChannel="requestChannel", outputChannel="replyChannel")
public ContentEnricher contentEnricher() {
ContentEnricher contentEnricher = new ContentEnricher();
Map<String, Expression> propertyExpressions = new HashMap<String, Expression>();
propertyExpressions.put("description", new SpelExpressionParser().parseExpression("'enriching description with static string'"));
contentEnricher.setPropertyExpressions(propertyExpressions );
return contentEnricher;
}

这是最好的方法还是还有其他更好的选择?

最佳答案

是的,这是正确的配置,它之所以有效只是因为 ContentEnricherMessageHandler实现适当的handleMessage(Message<?> message)MethodInvokingTransformer 接受的方法.

你的想法又是错误的。 ContentEnricher不属于Transformation family的一部分。

这正是一些黑匣子,用于从外部系统提取附加数据并将其添加到请求消息中。

在此处查看更多信息:http://www.enterpriseintegrationpatterns.com/DataEnricher.html

所以,@ServiceActivator对于ContentEnricher来说更好案例。

另外,请关注Spring Integration Java DSL项目。它有 .enrich()符号。

关于java - 如何仅使用 Java (JavaConfig) 实现 Spring 集成 Content Enricher?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31929984/

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