[英]How to convert Java Spring Flow to Spring Integration Work Flow with retry?
我在Spring组件类中有一个非常简单的方法
@Service("wsOrderCreationService")
public class WsOrderCreationServiceImpl implements WsOrderCreationService {
...
public void saveLedger(SdiOrderSkuLedger orderSkuLedger) {
sdiOrderSkuLedgerService.save(orderSkuLedger);
}
我想将重试应用于此方法,但是我不能使用spring-retry 1.1.12,因为我的核心Spring版本是3.0,而spring-retry的较低版本不允许XML配置。 我们已在此应用程序中成功地将Spring Integration与retry一起使用,因此我正在考虑将此方法转换为SI工作流。 进行此转换的最佳方法是什么?
让我猜想您可以对<service-activator>
使用<request-handler-advice-chain>
中的RequestHandlerRetryAdvice
。
另一方面,您可以为某些service-interface
构建类似<gateway>
东西,并将该接口在某些服务中用作Integration前端。
因此,您需要的是<gateway>
,它使用RequestHandlerRetryAdvice
将消息发送到<service-activator>
,以获取某些需要重试逻辑的服务方法。
这就是如何回答您的特定问题。
另一方面,Spring Retry框架不是为XML配置设计的,因为它对于常规的<bean>
定义来说已经足够简单了。 您应该只通过标准Spring AOP Framework配置RetryOperationsInterceptor
(及其依赖项)。
从那里开始,您不必为了简单地重试一项服务而引入Spring Integration层。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.