Perhaps this could help:
EnvironmentConfig environmentConfig = new EnvironmentConfig();
environmentConfig.setAllowCreate(true);
File file = new File("<Path_to_Database>");
Environment environment = new Environment(file, environmentConfig);
DatabaseConfig databaseConfig = new DatabaseConfig();
databaseConfig.setAllowCreate(true);
databaseConfig.setDeferredWrite(true);
Database testDatabase = environment.openDatabase(null, "testDB", databaseConfig);
DatabaseEntry keyEntry = new DatabaseEntry();
DatabaseEntry valueEntry = new DatabaseEntry();
DatabaseEntry fetchedEntry = new DatabaseEntry();
IntegerBinding.intToEntry(1, keyEntry);
StringBinding.stringToEntry("Kwakkel", valueEntry);
testDatabase.put(null, keyEntry, valueEntry);
testDatabase.get(null, keyEntry, fetchedEntry, null);
String fetched = StringBinding.entryToString(fetchedEntry);
System.out.println("Fetched value: " + fetched);
testDatabase.sync();
testDatabase.close();
I think you have to set 'DeferredWrite' to 'true'. Then you can use 'sync()' on you database and the data is persisted. Run it and then remove the line with the 'put(...)'-command. Should still work. Well, at least it worked for me... :)
Best regards
Alexander Schell