如果将所有任务放在 ScheduledExecutorService 上会怎样

问题描述 投票:0回答:1

如果将所有任务放在

ScheduledExecutorService
上,但是如果服务器关闭或服务器获取更新并重新启动,我分配给线程的任务将丢失,有什么解决方案吗

如何保存我已经放入的数据

ScheduledExecutorService

java mysql spring-boot multithreading scheduledexecutorservice
1个回答
0
投票

Java 提供的

ScheduledExecutorService
的实现仅在内存中记住其提交的任务。当 JVM 退出时,所有已提交和未完成的任务都消失了,噗💨。

如果您需要跟踪任何未完成或等待执行的剩余任务,请使用其他工具,或自行管理跟踪。

当您提交任务时,您可以将其标识符记录在数据库中。作为任务工作的一部分,它将删除或修改数据库中的记录。

启动时,您的应用程序将查询数据库以查找尚未完成的任务。然后重新创建这些任务对象,并提交给新的

ScheduledExecutorService

© www.soinside.com 2019 - 2024. All rights reserved.