我正在测试Cassandra。在连接持有者中,我实现了一个永远不会被调用的finalize方法。该策略与其他KV商店合作。
public void finalize() throws Throwable {
super.finalize();
if (session != null) {
session.close();
}
if (cluster != null) {
cluster.close();
}
}
问题是,当程序完成时,它会无限期挂起。但是,如果在main方法中我显式调用ConnectionHolder.finalize(),则程序正确完成。我也尝试过ShutdownHook,但没有用。
如何解决这个问题?
欢呼声
Altober