我正在编写一些重新连接逻辑,以定期尝试建立与发生故障的远程端点的连接。本质上,代码如下所示:
public void establishConnection() { try { this.connection = newConnection(); } catch (IOException e) { // connection failed, try again. try { Thread.sleep(1000); } catch (InterruptedException e) {}; establishConnection(); } }
我已经在很多情况下使用类似于上面的代码解决了这个普遍的问题,但是我对结果不满意。是否有设计用于解决此问题的设计模式?
值得结帐的一个库是Sarge,它会根据已定义的计划自动执行重试。