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