Failsafe : Execute a void method and return result based on success/failure

829 views Asked by At

I am using Failsafe framework (link) to execute a method. My use case is to execute a void method x number of times and return success or failure based on the execution result. Below is how my (pseudo) code looks like:

public void methodThatNeedsToExecute(){..}

public String failsafeWrapper(){
    RetryPolicy<String> retryPolicy = new RetryPolicy<>().withMaxRetries(50);
    return Failsafe.with(retryPolicy)
        .onSuccess(return "success") // how to do this?
        .onFailure(return "failure") //how to do this?
        .get(() -> methodThatNeedsToExecute()); //this won't work

}

I can use run method of Failsafe to execute my void method (i.e. methodThatNeedsToExecute()). However, how can I return something based on how execution with retries goes?

0

There are 0 answers