2

私は次のように使用mapdbします

val mycache = DBMaker.newFileDB(new File(("/data/tmp/cache.db")))
    .transactionDisable()
    .make().getHashSet("")

それから私がするとき

mycache.put(k1, v1)
assertTrue(mycache.get(k1), v1) // all is fine

ただし、サーバーを再起動すると、ディスクに cache.db があることがわかりますが、読み取り時に空のマップが表示されます

それで

mycache.get(k1) // is null after restart

ファイルから再起動した後にマップを再読み込みするにはどうすればよいですか?

4

1 に答える 1

5

JVM をシャットダウンする前にデータベースを閉じる必要があります。.closeOnJVMShutdown()最も簡単なのはオプションを追加することです

于 2014-03-09T09:43:27.507 に答える