加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Spring Integration Java DSL – 如何使用重试建议调用ServiceA

发布时间:2020-12-15 01:38:56 所属栏目:大数据 来源:网络整理
导读:我有一个带有ServiceActivator方法的Component类: @Component("payloadService")public class PayloadService { @Transactional @ServiceActivator @Description("Pre-check service") public Message 我有一个Spring Integration 4 Java DSL流程,它调用Ser

我有一个带有ServiceActivator方法的Component类:

@Component("payloadService")
public class PayloadService {

    @Transactional
    @ServiceActivator
    @Description("Pre-check service")
    public 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读