gpt4 book ai didi

java - 如果出现问题并且我想重试,使用相同的 Executor 重新排队 Runnable 是否安全或明智?

转载 作者:行者123 更新时间:2023-12-02 13:15:29 25 4
gpt4 key购买 nike

我刚刚在我的可运行对象的 run() 方法中编写了这段代码:

try {
dbConnection = MyApp.datasource.getConnection();
} catch (SQLException e) {
logger.log(Level.SEVERE, "Could not obtain a DB connection! Re-enqueuing this task. Message: " + e.getMessage(), e);
MyApp.executor.execute(this);
return;
}

如您所见,如果任务无法获取数据库连接,它应该将自身重新排队到运行之前所在的队列中。

我认为这可能是安全的,但感觉很有趣,我只是想确保没有遗漏任何问题。

谢谢!

最佳答案

就执行者而言,这很好。

但请记住,失败可能会很快发生,然后执行器可能会快速重新运行您的代码。这可能会导致消耗大量 CPU 而没有任何结果。

内置强制重试延迟和最大循环计数。

关于java - 如果出现问题并且我想重试,使用相同的 Executor 重新排队 Runnable 是否安全或明智?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5034693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com