@Override public void startUp() throws Exception { // do a DB backup, and keep last 15 copies File db = new File(Settings.getInstance().getSettingsFolder(), MOVIE_DB); Utils.createBackupFile(db); Utils.deleteOldBackupFile(db, 15); // configure database mvStore = new MVStore.Builder() .fileName(Settings.getInstance().getSettingsFolder() + File.separatorChar + MOVIE_DB) .compressHigh() .open(); mvStore.setAutoCommitDelay(2000); // 2 sec mvStore.setRetentionTime(0); mvStore.setReuseSpace(true); // configure JSON objectMapper = new ObjectMapper(); objectMapper.configure(MapperFeature.AUTO_DETECT_GETTERS, false); objectMapper.configure(MapperFeature.AUTO_DETECT_IS_GETTERS, false); objectMapper.configure(MapperFeature.AUTO_DETECT_SETTERS, false); objectMapper.configure(MapperFeature.AUTO_DETECT_FIELDS, false); objectMapper.setTimeZone(TimeZone.getDefault()); objectMapper.setSerializationInclusion(Include.NON_DEFAULT); movieObjectWriter = objectMapper.writerFor(Movie.class); movieSetObjectWriter = objectMapper.writerFor(MovieSet.class); movieMap = mvStore.openMap("movies"); movieSetMap = mvStore.openMap("movieSets"); MovieList.getInstance().loadMoviesFromDatabase(movieMap, objectMapper); MovieList.getInstance().loadMovieSetsFromDatabase(movieSetMap, objectMapper); MovieList.getInstance().initDataAfterLoading(); enabled = true; }