gpt4 book ai didi

spring-integration - 如何将 Spring Integration XML 转换为 errorChannel 的 Java DSL

转载 作者:行者123 更新时间:2023-12-01 10:40:30 24 4
gpt4 key购买 nike

我的应用程序中有以下 xml 配置,我想将其转换为 Java DSL。

因此,在此引用中,我明确定义了错误 channel 的名称。主要是出于示例原因。有了这个引用,我期望发生的事情是当下游进程抛出异常时,它应该通过错误 channel 将有效负载路由回。 Java 代码会是什么样子?

<int-jms:message-driven-channel-adapter
id="notification"
connection-factory="connectionFactory"
destination="otificationQueue"
channel="notificationChannel"
error-channel="error"
/>

<int:chain id="chainError" input-channel="error">
<int:transformer id="transformerError" ref="errorTransformer" />
<int-jms:outbound-channel-adapter
id="error"
connection-factory="connectionFactory"
destination="errorQueue" />
</int:chain>

最佳答案

    @Bean
public IntegrationFlow jmsMessageDrivenFlow() {
return IntegrationFlows
.from(Jms.messageDriverChannelAdapter(this.jmsConnectionFactory)
.id("notification")
.destination(this.notificationQueue)
.errorChannel(this.errorChannel))

...

.get();
}

@Bean
public IntegrationFlow ErrorFlow() {
return IntegrationFlows
.from(this.errorChannel)
.transform(errorTransformer())
.handle(Jms.outboundAdapter(this.jmsConnectionFactory)
.destination(this.errorQueue), e -> e.id("error"))
.get();
}

编辑:

    @Bean
public MessageChannel errorChannel() {
return new DirectChannel();
}

并 Autowiring 它,或将其引用为

.errorChannel(errorChannel())

关于spring-integration - 如何将 Spring Integration XML 转换为 errorChannel 的 Java DSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30606497/

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