La mia applicazione Java richiede una logica di tentativi in caso di errori di chiamate remote. Queste chiamate remote sono:Chiamate di nuovo metodo in modo generico
- sparsi in tutta l'applicazione
- appartengono a diverse classi di servizio remoto.
Inoltre, la logica di tentativi potrà avere vari Retry e variando riprovare tentativi.
Ho bisogno di un'implementazione generica retry() che può effettuare chiamate di metodo appropriate a seconda di dove viene chiamato. Di seguito è riportata una semplice illustrazione del codice di cui sto cercando. So che possiamo provare a fare ciò usando java reflection, ma c'è un framework o un open source disponibile da qualche parte che è read-to-use?
try {
ClassA objA = remoteServiceA.call(paramA1, paramA2, ...);
} catch (Exception e){
ClassA objA = (ClassA)retry(remoteService, listOfParams, ..); // generic method call
}
..
try {
ClassB objB = remoteServiceB.call(paramB1, paramB2, ...);
} catch (Exception e){
ClassA objB = (ClassB)retry(remoteService, listOfParams, ..); // generic method call
}