在 Hazelcast(嵌入式)执行程序服务线程为 运行 时防止 JVM 关闭

Prevent JVM Shutdown while Hazelcast(Embedded) executor service thread is running

我正在使用 Hazelcast IExecutor 服务。

我编写了将任务提交给 IExecutorService 的测试,而执行程序服务线程仍在执行中,JVM 正在终止,因此发生 Hazelcast 关闭。因此,测试失败。

有什么方法可以在 hazelcast 线程仍在执行时阻止 JVM 或测试终止?

getExecutorService 上的 Javadoc 说没有定义的关闭行为:

Note: Note that it doesn't support invokeAll/Any and doesn't have standard shutdown behavior

不幸的是,没有办法改变它。您可以在 ExecutionServiceImpl class where you can see it waits for 3 seconds to finish before shutting down the executor 中查看实现细节。请注意,这可以随时更改。我们实际上正在研究使这种行为更加明确,甚至可能是可配置的。

随时在 GitHub 提交功能请求,特别是如果您关闭 gracefully/terminate,如果您访问任务中的集群数据,以及如果您的任务完成时间太长,您的期望是什么.