我在内存模式下使用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的情况下执行此操作。
感谢。
答案 0 :(得分:4)
您可以执行语句shutdown
。这将关闭连接和数据库。