1

我在 JavaEE7/CDI 应用程序中使用 ChronicleMap。对话范围被大量使用。很难预测用户将在哪里退出对话以关闭地图。

尽管我试图关闭 @PreDestroy 方法中的所有实例,但显然我并没有关闭所有实例。

以下错误的后果是什么:

11:20:47,866 错误 [net.openhft.chronicle.hash.impl.ChronicleHashResources] (Reference Handler) ChronicleMap{name=null, file=null, identityHashCode=1146047764} 未手动关闭,已从 Cleaner 中清除

不手动关闭地图有害吗?

地图是否在从清洁器中清理之前先关闭?

谢谢

4

1 回答 1

1

不关闭 Chronicle Maps 并不比不手动取消映射直接 ByteBuffers 更有害。在一些不幸的情况下,它可能会导致 OutOfMemoryError,即使正式的实时工作对象集 + 实时堆外内存从未超过配置的限制。

于 2017-09-08T01:26:37.933 回答