Class SpeedbKVStorePlugin

java.lang.Object
io.vertigo.datastore.plugins.kvstore.speedb.SpeedbKVStorePlugin
All Implemented Interfaces:
io.vertigo.core.node.component.Activeable, io.vertigo.core.node.component.CoreComponent, io.vertigo.core.node.component.Plugin, io.vertigo.core.node.definition.DefinitionProvider, io.vertigo.core.node.definition.SimpleDefinitionProvider, KVStorePlugin

public final class SpeedbKVStorePlugin extends Object implements KVStorePlugin, io.vertigo.core.node.component.Activeable, io.vertigo.core.node.definition.SimpleDefinitionProvider
Implémentation d'un store BerkeleyDB.
Author:
pchretien, npiedeloup
  • Constructor Details

    • SpeedbKVStorePlugin

      @Inject public SpeedbKVStorePlugin(String collections, String dbFilePath, Optional<String> purgeVersion, io.vertigo.commons.transaction.VTransactionManager transactionManager, io.vertigo.commons.codec.CodecManager codecManager, io.vertigo.core.analytics.AnalyticsManager analyticsManager)
      Constructor. Collections syntax : - collections are comma separated a revoir (param étendus - collections may defined TimeToLive and Memory configs with a json like syntax : collName;TTL=10;inMemory - TTL default to -1 meaning eternal - inMemory default to false meaning store on file system
      Parameters:
      collections - List of collections managed by this plugin (comma separated)
      dbFilePath - Base Berkeley DB file system path (Could use java env param like user.home user.dir or java.io.tmpdir)
      transactionManager - Transaction manager
      codecManager - Codec manager
  • Method Details

    • provideDefinitions

      public List<? extends io.vertigo.core.node.definition.Definition> provideDefinitions(io.vertigo.core.node.definition.DefinitionSpace definitionSpace)
      Specified by:
      provideDefinitions in interface io.vertigo.core.node.definition.SimpleDefinitionProvider
    • getCollections

      public List<KVCollection> getCollections()
      Returns the list of collections managed by this plugin.
      Specified by:
      getCollections in interface KVStorePlugin
      Returns:
      list of collections;
    • start

      public void start()
      Specified by:
      start in interface io.vertigo.core.node.component.Activeable
    • stop

      public void stop()
      Specified by:
      stop in interface io.vertigo.core.node.component.Activeable
    • forceRemoveTooOldElements

      public void forceRemoveTooOldElements()
      Force remove too old elements. For test purpose.
    • clear

      public void clear(KVCollection collection)
      Removes all elements from a collection.
      Specified by:
      clear in interface KVStorePlugin
      Parameters:
      collection - the collection
    • remove

      public boolean remove(KVCollection collection, String id)
      Removes an element defined by an id from a collection.
      Specified by:
      remove in interface KVStorePlugin
      Parameters:
      collection - the collection
      id - the id
      Returns:
      if element exists before removed
    • put

      public void put(KVCollection collection, String id, Object element)
      Adds an element defined by an id in a collection.
      Specified by:
      put in interface KVStorePlugin
      Parameters:
      collection - the collection
      id - the id
      element - the element
    • find

      public <C> Optional<C> find(KVCollection collection, String id, Class<C> clazz)
      Finds the optional element to which the id is mapped inside the specified collection. If the element is not found then an empty option is returned.
      Specified by:
      find in interface KVStorePlugin
      Type Parameters:
      C - Element type
      Parameters:
      collection - the collection
      id - the id
      clazz - the type of the searched element
      Returns:
      the option
    • findAll

      public <C> List<C> findAll(KVCollection collection, int skip, Integer limit, Class<C> clazz)
      Finds all elements contained inside the specified collection.
      Specified by:
      findAll in interface KVStorePlugin
      Type Parameters:
      C - Element type
      Parameters:
      collection - the collection
      skip - the position from which the elements are returned
      limit - the limit size of elements
      clazz - the type of the searched element
      Returns:
      the list of elements.
    • count

      public int count(KVCollection collection)
      Specified by:
      count in interface KVStorePlugin
      Parameters:
      collection - the collection
      Returns:
      count of elements into collection