作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚在我的可运行对象的 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/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!