簡體   English   中英

如何重試將Java Spring Flow轉換為Spring Integration Work Flow?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM