public MapDBHashMap(File f) { this.db = DBMaker.fileDB(f).closeOnJvmShutdown().transactionEnable().make(); this.hashMap = db.hashMap(f.getName()) .keySerializer(Serializer.STRING) .valueSerializer(Serializer.STRING) .createOrOpen(); }
@Override protected Map<Long, Persistable> getUpdateMap(String sessionID, String typeID, String workerID, boolean createIfRequired) { SessionTypeWorkerId id = new SessionTypeWorkerId(sessionID, typeID, workerID); if (updates.containsKey(id)) { return updates.get(id); } if (!createIfRequired) { return null; } String compositeKey = COMPOSITE_KEY_HEADER + sessionID + COMPOSITE_KEY_SEPARATOR + typeID + COMPOSITE_KEY_SEPARATOR + workerID; Map<Long, Persistable> updateMap; updateMapLock.lock(); try { //Try again, in case another thread created it before lock was acquired in this thread if (updates.containsKey(id)) { return updates.get(id); } updateMap = db.hashMap(compositeKey).keySerializer(Serializer.LONG) .valueSerializer(new PersistableSerializer<>()).createOrOpen(); updates.put(id, updateMap); } finally { updateMapLock.unlock(); } return updateMap; }
public GitConverter(@NotNull DB cache, @NotNull Path basePath, @NotNull String[] globs) throws IOException, InvalidPatternException { this.basePath = basePath; this.cache = cache; this.globs = globs.clone(); this.matchers = convertGlobs(globs); Arrays.sort(globs); for (String glob : globs) { new FileNameMatcher(glob, '/'); } tempPath = basePath.resolve("lfs/tmp"); Files.createDirectories(tempPath); //noinspection unchecked cacheMeta = cache.<String, MetaData>hashMap("meta") .keySerializer(Serializer.STRING) .valueSerializer(new SerializerJava()) .createOrOpen(); }
.keySerializer(Serializer.STRING) .valueSerializer(Serializer.STRING) .expireAfterCreate(cacheTimeout, TimeUnit.HOURS)
.keySerializer(new IdSerializer()) .valueSerializer(Serializer.JAVA) .createOrOpen(); .keySerializer(new IdSerializer()) .valueSerializer(Serializer.JAVA) .createOrOpen(); .keySerializer(new FeatureKeySerializer()) .valueSerializer(Serializer.JAVA) .createOrOpen(); .keySerializer(new MultivaluedFeatureKeySerializer()) .valueSerializer(Serializer.JAVA) .createOrOpen();
/** * Constructs a new {@code AbstractMapDbBackend} wrapping the provided {@code database}. * * @param database the {@link org.mapdb.DB} used to create and manage {@link org.mapdb.HTreeMap}s * * @see MapDbBackendFactory */ @SuppressWarnings("unchecked") protected AbstractMapDbBackend(DB database) { checkNotNull(database, "database"); this.database = database; this.containers = database.hashMap("containers") .keySerializer(new SerializerDecorator<>(SERIALIZER_FACTORY.forId())) .valueSerializer(new SerializerDecorator<>(SERIALIZER_FACTORY.forSingleFeature())) .createOrOpen(); this.instances = database.hashMap("instances") .keySerializer(new SerializerDecorator<>(SERIALIZER_FACTORY.forId())) .valueSerializer(new SerializerDecorator<>(SERIALIZER_FACTORY.forClass())) .createOrOpen(); this.singleFeatures = database.hashMap("features/single") .keySerializer(new SerializerDecorator<>(SERIALIZER_FACTORY.forSingleFeature())) .valueSerializer(Serializer.ELSA) .createOrOpen(); }
storageMetaData = db.hashMap("storageMetaData").keySerializer(new SessionTypeIdSerializer()) .valueSerializer(new PersistableSerializer<StorageMetaData>()).createOrOpen(); staticInfo = db.hashMap("staticInfo").keySerializer(new SessionTypeWorkerIdSerializer()) .valueSerializer(new PersistableSerializer<>()).createOrOpen(); classToInteger = db.hashMap("classToInteger").keySerializer(Serializer.STRING) .valueSerializer(Serializer.INTEGER).createOrOpen(); integerToClass = db.hashMap("integerToClass").keySerializer(Serializer.INTEGER) .valueSerializer(Serializer.STRING).createOrOpen(); Map<Long, Persistable> m = db.hashMap(s).keySerializer(Serializer.LONG) .valueSerializer(new PersistableSerializer<>()).open(); String[] arr = s.split(COMPOSITE_KEY_SEPARATOR);
/** * Create the storage map * * @return */ @Override public Map<Integer, Long> createUpdatedMap() { if (storageFile == null) { //In-Memory Stats Storage db = DBMaker.memoryDB().make(); } else { db = DBMaker.fileDB(storageFile).closeOnJvmShutdown().transactionEnable() //Default to Write Ahead Log - lower performance, but has crash protection .make(); } updated = db.hashMap("updated").keySerializer(Serializer.INTEGER).valueSerializer(Serializer.LONG) .createOrOpen(); return updated; }
/** * Create the storage map * * @return */ @Override public Map<Integer, Long> createUpdatedMap() { if (storageFile == null) { //In-Memory Stats Storage db = DBMaker.memoryDB().make(); } else { db = DBMaker.fileDB(storageFile).closeOnJvmShutdown().transactionEnable() //Default to Write Ahead Log - lower performance, but has crash protection .make(); } updated = db.hashMap("updated").keySerializer(Serializer.INTEGER).valueSerializer(Serializer.LONG) .createOrOpen(); return updated; }
/** * Create the storage map * * @return */ @Override public Map<Integer, Long> createUpdatedMap() { if (storageFile == null) { //In-Memory Stats Storage db = DBMaker.memoryDB().make(); } else { db = DBMaker.fileDB(storageFile).closeOnJvmShutdown().transactionEnable() //Default to Write Ahead Log - lower performance, but has crash protection .make(); } updated = db.hashMap("updated").keySerializer(Serializer.INTEGER).valueSerializer(Serializer.LONG) .createOrOpen(); return updated; }
/** * Constructs a new {@code MapDbBackendIndices} wrapping the provided {@code database}. * * @param database the {@link org.mapdb.DB} used to creates the used {@link org.mapdb.HTreeMap}s and manage the * database * * @see MapDbBackendFactory */ @SuppressWarnings("unchecked") protected MapDbBackendIndices(DB database) { super(database); manyFeatures = database.hashMap("features/many") .keySerializer(new SerializerDecorator<>(SERIALIZER_FACTORY.forManyFeature())) .valueSerializer(Serializer.ELSA) .createOrOpen(); }
protected Storage(){ /* create or open-connection the databases optionally with with crash corruption resistance "transactionEnable" and Mmap if on 64 bit system: */ accountsDB = getDB(pathAccountsDB,false,true); blocksDB = getDB(pathBlocksDB,false,true); transactionsDB = getDB(pathTransactionsDB,false,true); contractCodeDB = getDB(pathContractCodeDB,false,true); contractStatesDB = getDB(pathContractStateDB,false,true); /* create or open the the keyvalue stores: */ accountsMap = accountsDB.hashMap("map").keySerializer(Serializer.BYTE_ARRAY).valueSerializer(Serializer.BYTE_ARRAY).createOrOpen(); blocksMap = blocksDB.hashMap("map").keySerializer(Serializer.BYTE_ARRAY).valueSerializer(Serializer.BYTE_ARRAY).createOrOpen(); transactionsMap = transactionsDB.hashMap("map").keySerializer(Serializer.BYTE_ARRAY).valueSerializer(Serializer.BYTE_ARRAY).createOrOpen(); contractCodeMap = contractCodeDB.hashMap("map").keySerializer(Serializer.BYTE_ARRAY).valueSerializer(Serializer.BYTE_ARRAY).createOrOpen(); contractStatesMap = contractStatesDB.hashMap("map").keySerializer(Serializer.BYTE_ARRAY).valueSerializer(Serializer.BYTE_ARRAY).createOrOpen(); //testing }
@Override public Map<Integer, SubscriberState> createMap() { if (storageFile == null) { //In-Memory Stats Storage db = DBMaker.memoryDB().make(); } else { db = DBMaker.fileDB(storageFile).closeOnJvmShutdown().transactionEnable() //Default to Write Ahead Log - lower performance, but has crash protection .make(); } statusStorageMap = db.hashMap("statusStorageMap").keySerializer(Serializer.INTEGER) .valueSerializer(new StatusStorageSerializer()).createOrOpen(); return statusStorageMap; }
@Override public Map<Integer, SubscriberState> createMap() { if (storageFile == null) { //In-Memory Stats Storage db = DBMaker.memoryDB().make(); } else { db = DBMaker.fileDB(storageFile).closeOnJvmShutdown().transactionEnable() //Default to Write Ahead Log - lower performance, but has crash protection .make(); } statusStorageMap = db.hashMap("statusStorageMap").keySerializer(Serializer.INTEGER) .valueSerializer(new StatusStorageSerializer()).createOrOpen(); return statusStorageMap; }
@Override public Map<Integer, SubscriberState> createMap() { if (storageFile == null) { //In-Memory Stats Storage db = DBMaker.memoryDB().make(); } else { db = DBMaker.fileDB(storageFile).closeOnJvmShutdown().transactionEnable() //Default to Write Ahead Log - lower performance, but has crash protection .make(); } statusStorageMap = db.hashMap("statusStorageMap").keySerializer(Serializer.INTEGER) .valueSerializer(new StatusStorageSerializer()).createOrOpen(); return statusStorageMap; }