Я пишу некоторую логику повторного подключения, чтобы периодически пытаться установить соединение с удаленной конечной точкой, которая вышла из строя. По сути,код выглядит так:
public void establishConnection() {
try {
this.connection = newConnection();
} catch (IOException e) {
// connection failed, try again.
try { Thread.sleep(1000); } catch (InterruptedException e) {};
establishConnection();
}
}
Я много раз решал эту общую проблему с помощью кода, похожего на приведенный выше, но в значительной степени неудовлетворен результатом. Существует ли шаблон проектирования, предназначенный для решения этой проблемы?