Class FilePersistence

  • All Implemented Interfaces:
    org.red5.server.api.persistence.IPersistenceStore

    public class FilePersistence
    extends org.red5.server.persistence.RamPersistence
    Simple file-based persistence for objects. Lowers memory usage if used instead of RAM memory storage.
    Author:
    The Red5 Project, Joachim Bauch ([email protected])
    • Constructor Detail

      • FilePersistence

        public FilePersistence​(org.springframework.core.io.support.ResourcePatternResolver resolver)
        Create file persistence object from given resource pattern resolver
        Parameters:
        resolver - Resource pattern resolver and loader
      • FilePersistence

        public FilePersistence​(org.red5.server.api.scope.IScope scope)
        Create file persistence object for given scope
        Parameters:
        scope - Scope
    • Method Detail

      • setPath

        public void setPath​(String path)
        Setter for file path.
        Parameters:
        path - New path
      • setExtension

        public void setExtension​(String extension)
        Setter for extension.
        Parameters:
        extension - New extension.
      • setCheckForEmptyDirectories

        public void setCheckForEmptyDirectories​(boolean checkForEmptyDirectories)
        Parameters:
        checkForEmptyDirectories - the checkForEmptyDirectories to set
      • getPersistenceInterval

        public int getPersistenceInterval()
        Returns:
        the persistenceInterval
      • setPersistenceInterval

        public void setPersistenceInterval​(int persistenceInterval)
        Parameters:
        persistenceInterval - the persistenceInterval to set
      • getObjectPath

        protected String getObjectPath​(String id,
                                       String name)
        Overrides:
        getObjectPath in class org.red5.server.persistence.RamPersistence
      • load

        public org.red5.server.api.persistence.IPersistable load​(String name)
        Specified by:
        load in interface org.red5.server.api.persistence.IPersistenceStore
        Overrides:
        load in class org.red5.server.persistence.RamPersistence
      • load

        public boolean load​(org.red5.server.api.persistence.IPersistable object)
        Specified by:
        load in interface org.red5.server.api.persistence.IPersistenceStore
        Overrides:
        load in class org.red5.server.persistence.RamPersistence
      • saveObject

        protected boolean saveObject​(org.red5.server.api.persistence.IPersistable object)
        Save persistable object
        Parameters:
        object - Persistable object
        Returns:
                 true
                 
        on success,
                 false
                 
        otherwise
      • save

        public boolean save​(org.red5.server.api.persistence.IPersistable object)
        Specified by:
        save in interface org.red5.server.api.persistence.IPersistenceStore
        Overrides:
        save in class org.red5.server.persistence.RamPersistence
      • checkRemoveEmptyDirectories

        protected void checkRemoveEmptyDirectories​(String base)
        Remove empty dirs
        Parameters:
        base - Base directory
      • remove

        public boolean remove​(String name)
        Specified by:
        remove in interface org.red5.server.api.persistence.IPersistenceStore
        Overrides:
        remove in class org.red5.server.persistence.RamPersistence
      • remove

        public boolean remove​(org.red5.server.api.persistence.IPersistable object)
        Specified by:
        remove in interface org.red5.server.api.persistence.IPersistenceStore
        Overrides:
        remove in class org.red5.server.persistence.RamPersistence
      • notifyClose

        public void notifyClose()
        Specified by:
        notifyClose in interface org.red5.server.api.persistence.IPersistenceStore
        Overrides:
        notifyClose in class org.red5.server.persistence.RamPersistence