Spring Kotlin故障保护新参数

Spring Kotlin故障保护新参数,spring,spring-boot,kotlin,retry-logic,Spring,Spring Boot,Kotlin,Retry Logic,我试图在一个带有Kotlin的Spring引导项目上使用故障保护实现重试机制。如果不满足所需的条件,我希望更改函数参数,并再次尝试产生任何结果 我的政策执行如下: val retryPolicy: RetryPolicy<ApiResponse> = RetryPolicy<ApiResponse>() .withMaxAttempts(1) .handleResultIf { result -> re

我试图在一个带有Kotlin的Spring引导项目上使用故障保护实现重试机制。如果不满足所需的条件,我希望更改函数参数,并再次尝试产生任何结果

我的政策执行如下:

    val retryPolicy: RetryPolicy<ApiResponse> = RetryPolicy<ApiResponse>()
        .withMaxAttempts(1)
        .handleResultIf { result ->
            result.retriable // Boolean value if conditions are met or not.
        }

主要问题是,Failsafe工作没有任何问题,并重试函数调用并生成结果,但在API响应中,我返回参数,由于参数是关键的,必须提供信息,我必须返回修改后的参数,这就是Failsafe失败的地方。它总是返回我调用的第一个参数。例如,它将新值返回为2而不是3

提前谢谢

        return Failsafe.with(myPolicy.retryPolicy)
            .onSuccess { response -> response.result }
            .onFailure { myFunctionCall(myParams.copy(paramX = newValue)) } // newValue = 3
            .get { _ -> myFunctionCall(params) } // params.newValue = 2