我有一个与以下服务类相似的服务类。该服务类使用令牌初始化客户端,然后调用另一个服务。客户端初始化的成本很高,因此只能完成一次。但是令牌可能会更改,在这种情况下,我们必须重新初始化客户端。当令牌无效时,我们会得到一个例外。
我想看看是否可以使用@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(...);
// ...
}
// ...
}