重试之前,@ RetryOnFailure可以调用其他方法吗?

时间:2020-09-05 00:27:15

标签: aop aspectj spring-aop

我有一个与以下服务类相似的服务类。该服务类使用令牌初始化客户端,然后调用另一个服务。客户端初始化的成本很高,因此只能完成一次。但是令牌可能会更改,在这种情况下,我们必须重新初始化客户端。当令牌无效时,我们会得到一个例外。

我想看看是否可以使用@RetryOnFailure之类的方法在调用initClient方法重新初始化客户端后重试该调用。

我们将不胜感激,谢谢您。

MyService {
    Client client;
    // ...

    private initClient(){
        if(client == null){
            // ...
            token = tokenService.getToken();
            // ...
            client = new client(token);
        }
        return client;      
    }

    public void callOne() throws MyException{
        // ...
        initClient();
        client.call(...);
        // ...
    }

    public  void callTwo(String ...) throws MyException{
        // ...
        initClient();
        client.call(...);
        // ...
    }
    // ...
}

0 个答案:

没有答案