|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ArchiveRequestManager
Schnittstelle, die von Applikationen benutzt wird, um Anfragen an ein Archivsystem zu stellen. Eine konkrete
Implementierung wird von den Datenverteiler-Applikationsfunktionen nach erfolgreichem Verbindungsaufbau zum
Datenverteiler über die Methode ClientDavInterface.getArchive()
zur Verfügung gestellt.
Method Summary | |
---|---|
void |
addArchiveAvailabilityListener(ArchiveAvailabilityListener listener)
Das übergebene Objekt listener wird benachrichtigt sobald sich die Erreichbarkeit des Archivsystems
über den Datenverteiler ändert. |
ArchiveQueryResult |
archiveFileSaverAlignment(int volumeIdTypB)
Beauftragt das Archivsystem seine Informationen zu gespeicherten Daten mit einem Speichermedium Typ B ArchiveFileSaver abzugleichen. |
ArchiveQueryResult |
deleteData(List<ArchiveInformationResult> dataDisposedToDelete,
boolean deleteImmediately)
Beauftragt das Archivsystem die angegebenen Zeitbereiche ohne Rücksicht auf den mit increaseDeleteTime(java.util.List festgelegten Wert zu löschen. |
ArchiveQueryResult |
deleteDataSimulationVariant(short simulationVariant)
Beauftragt das Archivsystem Archivdaten, die zu einer Simulation gehören, aus dem Archivsystem zu löschen. |
ArchiveQueryResult |
increaseDeleteTime(List<ArchiveInformationResult> requiredData,
long timePeriod)
Beauftragt das Archivsystem den Löschzeitpunkt der angegebenen Zeitbereiche zu verlängern. |
boolean |
isArchiveAvailable()
Stellt fest ob das Archivsystem über den Datenverteiler derzeit erreichbar ist. |
void |
removeArchiveAvailabilityListener(ArchiveAvailabilityListener listener)
Das Objekt, das mit addArchiveAvailabilityListener(de.bsvrz.dav.daf.main.archive.ArchiveAvailabilityListener) übergeben wurde, wird nicht mehr benachrichtigt sobald
sich die Erreichbarkeit des Archivsystems über den Datenverteiler ändert. |
ArchiveDataQueryResult |
request(ArchiveQueryPriority priority,
ArchiveDataSpecification spec)
Ruft Archivdaten von einem Archivsystem mit Hilfe eines Ergebnisdatenstroms ab. |
ArchiveDataQueryResult |
request(ArchiveQueryPriority priority,
List<ArchiveDataSpecification> specs)
Ruft Archivdaten von einem Archivsystem mit Hilfe mehrerer Ergebnisdatenströme ab. |
ArchiveQueryResult |
requestData(Collection<ArchiveInformationResult> requiredData,
Collection<SystemObject> requestedArchives)
Beauftragt das Archivsystem fehlende Daten von anderen Archivsystemen anzufordern und diese dann als "nachgefordert" zu speichern und bei Archivanfragen zur Verfügung zu stellen. |
ArchiveQueryResult |
requestData(long startTime,
long endTime,
Collection<SystemObject> requestedArchives)
Beauftragt das Archivsystem fehlende Daten von anderen Archivsystemen anzufordern und diese dann als "nachgefordert" zu speichern und bei Archivanfragen zur Verfügung zu stellen. |
ArchiveInfoQueryResult |
requestInfo(ArchiveDataSpecification spec)
Start einer Archivinformationsanfrage an das Archivsystem. |
ArchiveInfoQueryResult |
requestInfo(List<ArchiveDataSpecification> specs)
Start einer Archivinformationsanfrage an das Archivsystem. |
ArchiveQueryResult |
restorePersistentData(List<ArchiveInformationResult> requiredData)
Start der Wiederherstellung von Datensätzen, die der Sicherung übergeben wurden (siehe savePersistentData() ). |
ArchiveQueryResult |
savePersistentData()
Beauftragt das Archivsystem Archivdaten der Sicherung ArchiveFileSaver zu übergeben. |
void |
setReceiveBufferSize(int numberOfBytes)
Spezifiziert die Größe des Empfangspuffers je Archivanfrage, die mit nachfolgenden request Aufrufen
erzeugt werden. |
void |
subscribeReceiver(DatasetReceiverInterface receiver,
SystemObject object,
DataDescription dataDescription,
ReceiveOptions options,
HistoryTypeParameter historyType,
long history)
Die Implementation dieser Methode meldet sich als Empfänger von aktuellen Daten an. |
void |
unsubscribeReceiver(DatasetReceiverInterface receiver,
SystemObject object,
DataDescription dataDescription)
Die Implementation dieser Methode meldet einen Empfänger ab, der mit der Methode subscribeReceiver(de.bsvrz.dav.daf.main.archive.DatasetReceiverInterface, de.bsvrz.dav.daf.main.config.SystemObject, de.bsvrz.dav.daf.main.DataDescription, de.bsvrz.dav.daf.main.ReceiveOptions, de.bsvrz.dav.daf.main.archive.HistoryTypeParameter, long) angemeldet wurde. |
Method Detail |
---|
void setReceiveBufferSize(int numberOfBytes)
request
Aufrufen
erzeugt werden. Der angegebene Parameter ist eine grobe Vorgabe für alle Streams einer Archivanfrage zusammen und
muss von einer Implementierung nicht exakt berücksichtigt werden, sondern sollte in der sendeseitigen Blockbildung
und in der Flusskontrolle so berücksichtigt werden, dass die Summe der vom Archivsystem gesendeten aber noch nicht
von der anfragenden Applikation abgerufenen Bytes in der angegebenen Größenordnung liegt. Der Defaultwert ist 0 mit
der Bedeutung, das die Größe durch einen entsprechenden Parameter des Archivsystems festgelegt wird.
numberOfBytes
- Grobe Vorgabe bezüglich der Anzahl zu puffernden Bytes pro Archivanfrage oder 0, wenn keine
Vorgabe seitens der Empfangsapplikation gemacht werden soll und statt dessen ein entsprechender
Parameter des Archivsystems verwendet werden soll.ArchiveDataQueryResult request(ArchiveQueryPriority priority, ArchiveDataSpecification spec) throws IllegalStateException
spec
spezifizierten Daten ein Stream von Ergebnisdatensätzen erwartet.
priority
- Priorität der Anfragespec
- Spezifikation der gewünschten Archivdaten
IllegalStateException
- Das Archivsystem ist nicht erreichbar.ArchiveDataQueryResult request(ArchiveQueryPriority priority, List<ArchiveDataSpecification> specs) throws IllegalStateException
specs
jeweils ein Stream von
Ergebnisdatensätzen erwartet.
priority
- Priorität der Anfragespecs
- Liste mit Spezifikationen der gewünschten Archivdaten
IllegalStateException
- Das Archivsystem ist nicht erreichbar.ArchiveInfoQueryResult requestInfo(ArchiveDataSpecification spec) throws IllegalStateException
ArchiveDataSpecification
zurück. Dieses Objekt ist eine Referenz auf den Eingabeparameter
spec
.
spec
- Spezifikation der Archivdaten zu denen Informationen gewünscht werden.
IllegalStateException
- Das Archivsystem ist nicht erreichbar.void subscribeReceiver(DatasetReceiverInterface receiver, SystemObject object, DataDescription dataDescription, ReceiveOptions options, HistoryTypeParameter historyType, long history)
receiver
- Objekt, das Methoden zur Verfügung stellt um den Strom aus historischen und aktuellen Daten
entgegen zu nehmenobject
- System-Objekt für die die spezifizierten Daten anzumelden sinddataDescription
- Beschreibende Informationen zu den anzumeldenden Datenoptions
- Für die Anmeldung zu verwendende OptionenhistoryType
- HistoryTypeParameter.TIME
= Der Parameter history
bezieht sich auf
einen Zeitraum, der vor den aktuellen Daten liegen soll (in ms);
HistoryTypeParameter.INDEX
= Der Parameter history
bezieht sich auf
die Anzahl Datensätze, die mindestens vor den aktuellen Daten liegen sollenhistory
- Zeitraum der Archivdaten in Millisekunden, die vor den ersten aktuellen Datensätzen liegenvoid unsubscribeReceiver(DatasetReceiverInterface receiver, SystemObject object, DataDescription dataDescription)
subscribeReceiver(de.bsvrz.dav.daf.main.archive.DatasetReceiverInterface, de.bsvrz.dav.daf.main.config.SystemObject, de.bsvrz.dav.daf.main.DataDescription, de.bsvrz.dav.daf.main.ReceiveOptions, de.bsvrz.dav.daf.main.archive.HistoryTypeParameter, long)
angemeldet wurde.
receiver
- object
- System-Objekt für die die spezifizierten Daten angemeldet wurdendataDescription
- Beschreibende Informationen zu den angemeldeten DatenArchiveInfoQueryResult requestInfo(List<ArchiveDataSpecification> specs) throws IllegalStateException
ArchiveDataSpecification
zurück. Diese Objekte sind Referenzen auf Einträge des Übergabeparameters
specs
.
specs
- Liste mit Spezifikationen der Archivdaten zu denen Informationen gewünscht werden
IllegalStateException
- Das Archivsystem ist nicht erreichbar.ArchiveQueryResult savePersistentData() throws IllegalStateException
ArchiveFileSaver
zu übergeben.
Eine Applikation ruft diese Methode auf, um alle Archivdaten, die gesichert werden können, zu sichern. Eine
Implementierung dieser Methode sollte ohne zu blockieren ein Objekt zurückliefern über das asynchron auf das
Ergebnis der Anfrage zugegriffen werden kann.
IllegalStateException
- Das Archivsystem ist nicht erreichbar.ArchiveQueryResult restorePersistentData(List<ArchiveInformationResult> requiredData) throws IllegalStateException
savePersistentData()
). Diese Methode wird von einer Applikation aufgerufen, die Datensätze
benötgt, die sich nicht im direkten Zugriff des Archivsystems befinden, sondern bereits der Sicherung übergeben
wurden und später gelöscht wurden (siehe deleteDataSimulationVariant(short)
, deleteData(java.util.List, boolean)
). Eine Implementierung dieser Methode sollte ohne zu blockieren ein Objekt
zurückliefern über das asynchron auf das Ergebnis des Auftrags zugegriffen werden kann.
requiredData
- Eine Liste von Zeitbereichen/Indexbereichen, die Wiederhergestellt werden müssen.
IllegalStateException
- Das Archivsystem ist nicht erreichbar.ArchiveQueryResult deleteDataSimulationVariant(short simulationVariant) throws IllegalStateException
savePersistentData()
). Die Methode wird von einer Applikation
aufgerufen, um nicht mehr benötigte Datensätze, die zu einer Simulation gehören, aus dem Archivsystem zu löschen.
simulationVariant
- Simulationsvariante, ganzzahliger Wert zwischen 1,...,999
IllegalStateException
- Das Archivsystem ist nicht erreichbar.ArchiveQueryResult increaseDeleteTime(List<ArchiveInformationResult> requiredData, long timePeriod)
requiredData
- Zeitbereiche, die länger im direkten Zugriff des Archivsystems bleiben sollentimePeriod
- Zeitspanne, die die ausgewählten Daten länger im direkten Zugriff des Archivsystem bleiben
sollen (in ms)
ArchiveQueryResult deleteData(List<ArchiveInformationResult> dataDisposedToDelete, boolean deleteImmediately)
increaseDeleteTime(java.util.List, long)
festgelegten Wert zu löschen. Das Löschen der Zeitbereiche wird dabei in
zwei Varianten unterteilt. In der ersten Variante werden die Zeitbereiche umgehend aus dem direkten Zugriff des
Archivsystems entfernt. In der zweiten Variante werden die Zeitbereiche nur als "zu löschend" markiert, sobald das
"automatische Löschen" des Archivsystems angstoßen wird (dies geschieht zyklisch), werden die Zeitbereiche
entfernt.
Bei allen Löschoperationen, die durch diesen Methodenaufruf ausgelöst werden, muss darauf geachtete werden, dass der
Vorhaltezeitraum der Zeitbereiche abgelaufen sein muss und das die Zeitbereiche gesichert wurden, falls diese
gesichert werden sollten. Wird gegen eine diese Forderungen verstossen, wird der angegebene Zeitbereich nicht
gelöscht.
dataDisposedToDelete
- Zeitbereich(e), die gelöscht werden sollendeleteImmediately
- true = Variante 1, die Zeitbereiche werden umgehend aus dem direkten Zugriff des
Archivsystems entfernt; false = Variante 2, die Zeitbereiche werden nur als "zu
löschend" markiert und später aus dem direkten Zugriff des Archivsystems entfernt
ArchiveQueryResult archiveFileSaverAlignment(int volumeIdTypB)
ArchiveFileSaver
abzugleichen. Dies kann nötig werden, wenn die eindeutigen Identifizierungen
der Speichermedien von Typ B durch die Sicherung geändert wurden (Beispiel: Die Daten wurden vorher auf CD
gespeichert, nun werden die Daten auf DVD gespeichert und die alten Datenbestände auf DVD umkopiert, somit fallen
mehrere CD´s auf eine DVD und die eindeutigen Identifizierungen der CD´s sind nutzlos. Die eindeutigen
Identifizierungen der CD´s wurde aber vom Archivsystem gespeichert und müssen folglich abgeglichen werden).
volumeIdTypB
- Eindeutige Identifikation eines Speichermediums Typ B
boolean isArchiveAvailable()
void addArchiveAvailabilityListener(ArchiveAvailabilityListener listener)
listener
wird benachrichtigt sobald sich die Erreichbarkeit des Archivsystems
über den Datenverteiler ändert.
listener
- Objekt, das benutzt wird um Änderungen der Erreichbarkeit des Archivsystems über den Datenverteiler
anzuzeigenvoid removeArchiveAvailabilityListener(ArchiveAvailabilityListener listener)
addArchiveAvailabilityListener(de.bsvrz.dav.daf.main.archive.ArchiveAvailabilityListener)
übergeben wurde, wird nicht mehr benachrichtigt sobald
sich die Erreichbarkeit des Archivsystems über den Datenverteiler ändert.
listener
- Objekt, das nicht mehr benachrichtigt werden soll, wenn sich die Erreichbarkeit des Archivsystems
über den Datenverteiler ändertArchiveQueryResult requestData(Collection<ArchiveInformationResult> requiredData, Collection<SystemObject> requestedArchives)
requiredData
- Datenidentifikation(en), die nachgefordert werden sollen. Jede Datenidentifikation
speichert zusätlich den Zeitbereich, in dem Daten zu dieser Datenidentifikation angefordert
werden soll. Es muss mindestens eine Datenidentifikation vorhanden sein.requestedArchives
- Archivsystem(e), bei denen Daten angefordert werden. Ist diese Liste leer werden alle
Archivsystem angefragt, die beim automatischen Nachfordern angefragt werden.
ArchiveQueryResult requestData(long startTime, long endTime, Collection<SystemObject> requestedArchives)
startTime
- Startzeitpunkt, ab dem Daten nachgefordert werdenendTime
- Endzeitpunkt, bis zu dem Daten nachgefordert werdenrequestedArchives
- Archivsysteme die angefragt werden. Ist die Liste leer werden alle Archivsysteme angefragt,
die beim automatischen Nachfordern angefragt werden
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |