Klasse FileSystemPersistenceModule

java.lang.Object
de.bsvrz.ars.persistence.FileSystemPersistenceModule

public class FileSystemPersistenceModule extends Object
Implementierung eines Persistenzmoduls des Archivsystems, das die Container in entsprechenden Dateien im Dateisystem speichert. Dieses Persistenzmodul kann beim Start des Archivsystems mit dem Aufrufparameter -persistenzModul=de.kappich.ars.archive.persistence.FileSystemPersistenceModule in das Archivsystem eingebunden werden. Als zusätzliche Aufrufparameter ist für dieses Persistenzmodul ist die Angabe des Wurzelverzeichnis im lokalen Dateisystem mittels -persistenzVerzeichnis=wurzelverzeichnis erforderlich. Unter diesem Verzeichnis werden die Container-Dateien gespeichert bzw. gesucht. Ein weiterer Aufrufparameter ist die zu nutzende Sicherung ArchiveFileSaver, diese wird mit -sicherungsModul=Klassenname angegeben. Der letzte Aufrufparameter gibt an, ob die zu archivierenden Datensätze gepackt archiviert werden sollen. Der Aufrufparameter lautet -packer=... und ist per default auf "keiner" eingestellt, weitere Parameter sind zip und alle. Der Parameter -packer=keiner bedeutet, dass die Datensätze nicht gepackt werden, der Parameter -packer=zip benutzt den Packer ZIP, der Parameter -packer=alle benutzt alle Packer, die zur Verfügung stehen und sucht denn besten Packer heraus. Der Aufrufparameter -packer=alle ist nicht implementiert und darf nicht benutzt werden, ist aber für die Zukunft gedacht.
  • Konstruktordetails

    • FileSystemPersistenceModule

      public FileSystemPersistenceModule(Path rootFolder)
      Konstruktor des Persistenzmoduls, der das Wurzelverzeichnis für die Containerdateien festlegt.
      Parameter:
      rootFolder - Wurzelverzeichnis für die Containerdateien
  • Methodendetails

    • getContainer

      public Container getContainer(long containerId) throws IOException, IllegalStateException, IllegalArgumentException
      Diese Methode lädt einen Container von einem Speichermedium Typ A und stellt danach das Objekt zur Verfügung.
      Parameter:
      containerId - Eindeutige Containeridentifikation des benötigten Containers
      Gibt zurück:
      Archivdatensatzcontainer
      Löst aus:
      IOException - Fehler beim Zugriff auf die Datei, die den Container speichert
      IllegalStateException - Der Container wurde mit einem K2S Modul erzeugt, konnte aber nicht zurückgelesen werden, da die Version des Containers unbekannt ist
      IllegalArgumentException - Der angegebene Container kann nicht gelesen werden, da er nicht mit einem K2S Modul erzeugt wurde
    • getAllContainers

      public de.bsvrz.dav.daf.main.impl.archive.PersistentContainerStreamSupplier getAllContainers()