Open henix opened 10 years ago
http://www.cosmocode.de/en/blog/schoenborn/2009-12/17-uncaught-exceptions-in-scheduled-tasks
如果任务是持续运行的,那么,ScheduledFuture.isDone() 会返回什么?始终是 false?
java.util.concurrent.ScheduledThreadPoolExecutor.ScheduledFutureTask.run():
如果是 periodic ,则调用 FutureTask.runAndReset ,否则调用 run
java.util.concurrent.FutureTask.runAndReset():
不会调用 set ,也就不可能是 NORMAL ,只可能因为抛异常而终止
因此,对于一个 ScheduledFuture:
如果才能让 scheduled task 在抛异常的情况下继续执行:
http://stackoverflow.com/questions/12346616/how-to-ensure-the-scheduled-executor-runs-even-after-a-runtime-exception
http://www.cosmocode.de/en/blog/schoenborn/2009-12/17-uncaught-exceptions-in-scheduled-tasks
如果任务是持续运行的,那么,ScheduledFuture.isDone() 会返回什么?始终是 false?
java.util.concurrent.ScheduledThreadPoolExecutor.ScheduledFutureTask.run():
如果是 periodic ,则调用 FutureTask.runAndReset ,否则调用 run
java.util.concurrent.FutureTask.runAndReset():
不会调用 set ,也就不可能是 NORMAL ,只可能因为抛异常而终止
因此,对于一个 ScheduledFuture:
如果才能让 scheduled task 在抛异常的情况下继续执行:
http://stackoverflow.com/questions/12346616/how-to-ensure-the-scheduled-executor-runs-even-after-a-runtime-exception