我正在编写一些重新连接逻辑,以定期尝试建立到一个远程端点的连接,该端点出现故障。实际上,代码看起来是这样的:
public void establishConnection() {
try {
this.connection = newConnection();
} catch (IOException e) {
// connection failed, try again.
try { Thread.sleep(1000); } catch (InterruptedException e) {};
establishConnection();
}
}
我已经在很多场合用类似于上面的代码解决了这个一般性问题,但是我对结果很不满意。是否有设计模式来处理这个问题?