Ứng dụng Java của tôi yêu cầu một lỗi thử lại trên các cuộc gọi từ xa bị lỗi. Những cuộc gọi từ xa là:Thử lại các cuộc gọi Phương thức theo cách thức chung chung
- rải rác khắp nơi trên ứng dụng
- liên quan đến các lớp học từ xa Dịch vụ khác nhau.
Ngoài ra, logic thử lại có thể có khoảng thời gian thử lại khác nhau và các thay đổi thử lại khác nhau.
Tôi cần triển khai thử lại chung() có thể thực hiện cuộc gọi phương thức thích hợp tùy thuộc vào nơi được gọi. Dưới đây là một minh hoạ mã đơn giản của tôi đang tìm kiếm. Tôi biết chúng ta có thể cố gắng làm điều này bằng cách sử dụng sự phản chiếu java, nhưng, liệu có một khung công tác hay một nguồn mở có sẵn ở đâu đó được đọc-để-sử dụng?
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
}