![](/img/trans.png)
[英]Spring Integration @ServiceActivator on a Java 8 default interface method
[英]Spring Integration Java DSL - How to call a ServiceActivator method with retry advice
我有一个带有ServiceActivator方法的Component类:
@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等。
有人可以给我一些关于如何做到这一点的指示吗?
PM,提前谢谢
像这样:
....
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) {
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.