内存中的H2 DB清理RAM

时间:2013-02-11 12:37:37

标签: database h2 ram in-memory

我在内存模式下使用H2 DB来处理一些数据。我的java应用程序需要在每次运行时删除并重新创建或截断或删除H2 DB中的所有对象时保持JVM。因此我需要使用选项' DB_CLOSE_DELAY = -1'在DB URL中。

要在迭代后清理内存,我尝试使用' DROP ALL OBJECTS' DROP ALL OBJECTS DELETE FILES'并逐个截断每个表。所有这些都实现了我想要的并没有删除当前占用的内存。我的数据库大小从大约300MB到2GB不等。因此,在一次迭代后,我的RAM大约占用了1GB,并且没有找到任何关于这个或解决方案的原因的解决方案。

与此Clear the in memory database after every testcase有些相似。但是没有dbUnit也需要清除RAM。

是否可以在不停止JVM的情况下执行此操作。

感谢。

1 个答案:

答案 0 :(得分:4)

您可以执行语句shutdown。这将关闭连接和数据库。