gpt4 book ai didi

Spring Integration Java DSL - 如何使用重试建议调用 ServiceActivator 方法

转载 作者:行者123 更新时间:2023-12-04 17:09:32 24 4
gpt4 key购买 nike

我有一个带有 ServiceActivator 方法的组件类:

@Component("payloadService")
public class PayloadService {

@Transactional
@ServiceActivator
@Description("Pre-check service")
public Message<String> preCheck(Message<String> message) {
...
}
}

我有一个 Spring Integration 4 Java DSL 流,它调用 ServiceActivator 的 preCheck 方法,如下所示:
IntegrationFlows.from("input.ch")
.handle("payloadService", "preCheck")
...
.get();

我现在正在尝试向服务调用添加重试建议(如下所示 http://docs.spring.io/spring-integration/reference/htmlsingle/#retry-config ),但我想以 Java DSL 形式执行此操作,如 https://github.com/spring-projects/spring-integration-extensions/wiki/Spring-Integration-Java-DSL-Reference#dsl-and-endpoint-configuration 中所述.

但是,我不太清楚如何在实践中将这个建议应用到我的 DSL 形式的流程中。可能在挣扎,因为我还不太熟悉 lambdas 等。

有人能给我一些关于如何做到这一点的指示吗?

提前致谢,
下午

最佳答案

像这样:

....

IntegrationFlows.from("input.ch")
.handle("payloadService", "preCheck", e -> e.advice(retryAdvice()))
...
.get();

....

@Bean
public Advice retryAdvice() {
RequestHandlerRetryAdvice advice = new RequestHandlerRetryAdvice();
...
return advice;
}

从另一方面,您可以尝试 Spring Retry 项目中的新注释内容:
@Configuration
@EnableIntegration
@EnableRetry
....

@Transactional
@ServiceActivator
@Retryable
@Description("Pre-check service")
public Message<String> preCheck(Message<String> message) {

关于Spring Integration Java DSL - 如何使用重试建议调用 ServiceActivator 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25137291/

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