小编典典

“重试”逻辑失败的设计模式?

java

我正在编写一些重新连接逻辑,以定期尝试建立与发生故障的远程端点的连接。本质上,代码如下所示:

public void establishConnection() {
    try {
        this.connection = newConnection();
    } catch (IOException e) {
        // connection failed, try again.
        try { Thread.sleep(1000); } catch (InterruptedException e) {};

        establishConnection();
    }
}

我已经在很多情况下使用类似于上面的代码解决了这个普遍的问题,但是我对结果不满意。是否有设计用于解决此问题的设计模式?


阅读 213

收藏
2020-09-28

共1个答案

小编典典

值得结帐的一个库是Sarge,它会根据已定义的计划自动执行重试。

2020-09-28