java - ChronicleMap没有手动关闭,从Cleaner中清理

标签 java jakarta-ee java-ee-7 chronicle-map

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

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

以下错误的后果是什么:

11:20:47,866 ERROR [net.openhft.chronicle.hash.impl.ChronicleHashResources] (Reference Handler) ChronicleMap{name=null, file=null, identityHashCode=1146047764} is not closed manually, cleaned up from Cleaner

不手动关闭 map 有什么坏处吗?

map 在从清理器中清理之前是否先关闭?

谢谢

最佳答案

不关闭编年史 map 的危害并不比e更大。 G。不手动取消直接 ByteBuffer 的映射。在某些不幸的情况下,它可能会导致 OutOfMemoryError,即使正式的实时工作对象集 + 实时堆外内存从未超过配置的限制。

关于java - ChronicleMap没有手动关闭,从Cleaner中清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46051776/

相关文章:

java - 借助 IBM Feature Packs 将 XML 拆分为多个 XML 文件?

eclipse - 使用 Tomcat 和 Eclipse 增强 DataNucleus JPA 运行时

jsf - javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL 自 Java EE 7/EL 3.0 起不再工作

java - 如何向用户显示一长串 Web 服务结果?

Java EE 的 CDI 没有按预期工作

java - 为什么数据库连接一直关闭

java - PhraseQuery 不工作 Lucene 4.5.0

java - 为什么 Servlet.service() for servlet jsp 会抛出这个异常?

java - 从 Spring-JDBC 获取结果集

audio - 使用 Java 流式传输音频