Mi aplicación Java requiere una lógica de reintento en las llamadas remotas. Estas llamadas remotas son:Reintentar llamadas al método de manera genérica
- dispersos por todo la aplicación
- pertenecen a diferentes clases de servicio remoto.
Además, la lógica de reintento puede tener un intervalo de reintento variable e intentos de reintento variables.
Necesito una implementación genérica de retry() que pueda realizar llamadas al método apropiado según el lugar al que se llame. A continuación se muestra una ilustración de código simple de lo que estoy buscando. Sé que podemos intentar hacer esto usando la reflexión de Java, pero, ¿hay un marco o una fuente abierta disponible en algún lugar que sea de lectura y uso?
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
}