public class StreamedArchiveRequester extends Object implements ArchiveRequestManager
StreamedRequestManager
empfangen, aber an den richtigen StreamedArchiveRequester weitergeleitet). Für jede anfragende Applikation wird ein solches Objekt
erzeugt.Modifier and Type | Class and Description |
---|---|
(package private) class |
StreamedArchiveRequester.ClientSender
Diese innerClass implementiert das ClientSenderInterface und wird im StreamedArchiveRequester benötigt um ein ClientDavConnection Objekt zu erzeugen.
|
Modifier and Type | Field and Description |
---|---|
private SystemObject |
_archiveSystem
Für welches Archivsystem ist dieser Manager.
|
private StreamedArchiveRequester.ClientSender |
_clientSender |
private ClientDavInterface |
_connection
Stellt die Verbindung zum Archiv dar.
|
private DataDescription |
_dataDescriptionSender |
private static Debug |
_debug
DebugLogger für Debug-Ausgaben
|
private short |
_defaultSimulationVariant
Falls keine Simulationsvariante gesetzt wird, dann wird dieser default-Wert benutzt.
|
private boolean |
_gotDataRequest |
private int |
_indexOfRequest
Jede Anfrage erhält einen eigene Index.
|
private List<ArchiveAvailabilityListener> |
_listener
Speichert alle Listener, die benachrichtigt werden, wenn das Archivsystem nicht mehr über den DaV zu erreichen ist
|
private Byte |
_lockState
Diese Objekt für
synchronized() benötigt, es sperrt den Zugriff auf die Variable _state. |
private int |
_receiveBufferSize
Diese Variable bestimmt die Größe des Empfangspuffers (StreamDemultiplexer).
|
private Map |
_requests
Hier sind alle Anfragen gespeichert, als Key wird der Index der Anfrage benutzt und das Archiv von dem die Daten angefordert werden.
|
private byte |
_state
Diese Variable wird benutzt um zu prüfen ob es einen Abnehmer für Archivanfragen gibt.
|
private SubscriptionArchiveOnlineDataManager |
_subscriptionArchiveOnlineDataManager |
private Date |
_timeOutArchiveRequest |
Constructor and Description |
---|
StreamedArchiveRequester(ClientDavInterface archiveConnection,
int timeOutArchiveRequest,
SystemObject archiveSystem,
short defaultSimulationVariant)
Dieser Konstruktor erzeugt ein StreamedArchiveRequester Objekt und meldet sich gleichzeitig auf der übergebenen Verbindung als Sender für Anfragen an.
|
Modifier and Type | Method and Description |
---|---|
void |
addArchiveAvailabilityListener(ArchiveAvailabilityListener listener)
Das übergebene Objekt
listener wird benachrichtigt sobald sich die Erreichbarkeit des Archivsystems über den Datenverteiler ändert. |
private void |
adviseListener()
Diese Methode benachrichtigt alle Listener, dass sich der Verbindungszustand zum Archivsystem geändert hat.
|
(package private) void |
archiveDataResponse(Data data)
Diese Methode leitet die Nutzdaten, die für eine bestimmte Archivanfrage gedacht sind, weiter.
|
ArchiveQueryResult |
archiveFileSaverAlignment(int volumeIdTypB)
Beauftragt das Archivsystem seine Informationen zu gespeicherten Daten mit einem Speichermedium Typ B
ArchiveFileSaver abzugleichen. |
private void |
archiveFileSaverAlignmentResponse(Data data) |
private void |
connectionLost()
Die Verbindung zum Archiv ist verloren gegangen.
|
(package private) void |
createArchivRequestResultData(ArchiveQueryID archiveRequest,
int messageType,
byte[] dataArray)
Diese Methode erzeugt einen Datensatz, der zum Archiv geschickt werden kann.
|
void |
dataReceiver(Data data)
Diese Methode analisiert die Daten und ruft die passenden Methoden auf, die die Daten weiter reichen oder verarbeiten um sie dann weiter zu reichen.
|
ArchiveQueryResult |
deleteData(List<ArchiveInformationResult> dataDisposedToDelete,
boolean deleteImmediately)
Beauftragt das Archivsystem die angegebenen Zeitbereiche ohne Rücksicht auf den mit
ArchiveRequestManager.increaseDeleteTime(java.util.List<de.bsvrz.dav.daf.main.archive.ArchiveInformationResult>, long) festgelegten Wert zu
löschen. |
private void |
deleteDataResponse(Data data) |
ArchiveQueryResult |
deleteDataSimulationVariant(short simulationVariant)
Diese Methode beauftragt das Archivsystem alle Daten, die zu einer bestimmten Simulationsvariante gehören, zu löschen.
|
private void |
deletePersistentDataResponse(Data data)
Diese Methode wird aufgerufen, wenn eine Antwort auf einen Löschauftrag vorliegt.
|
private SystemObject[] |
getAffectedObjects(ArchiveDataSpecification spec) |
private static ArchiveDataQueryResult |
getEmptyResult() |
ArchiveNumQueriesResult |
getNumArchiveQueries()
Gibt Informationen über die Anzahl Anfragen zurück, die eine Applikation gleichzeitig stellen darf.
|
private Query |
getQuery(int indexOfQuery,
SystemObject archiveReference)
Diese Methode liefert zu einem gegebenen Index, der zu einer Archivanfrage gehört, die dazugehörige Archivanfrage.
|
ArchiveQueryResult |
increaseDeleteTime(List<ArchiveInformationResult> requiredData,
long timePeriod)
Beauftragt das Archivsystem den Löschzeitpunkt der angegebenen Zeitbereiche zu verlängern.
|
private void |
increaseDeleteTimeResponse(Data data) |
private void |
intitiateArchiveQueryResponse(Data data)
Das Archiv Antwortet auf die gestellt Archivanfrage.
|
boolean |
isArchiveAvailable()
Stellt fest ob das Archivsystem über den Datenverteiler derzeit erreichbar ist.
|
private boolean |
isConnectionOk(Date timeOut)
Diese Methode prüft, ob gesendet werden darf.
|
private ArchiveDataQueryResult |
query(ArchiveQueryPriority priority,
List<ArchiveDataSpecification> specs,
ArchiveQueryID archiveQueryID) |
private ArchiveDataQueryResult |
rawQuery(ArchiveQueryPriority priority,
List<ArchiveDataSpecification> specs,
ArchiveQueryID archiveQueryID) |
void |
removeArchiveAvailabilityListener(ArchiveAvailabilityListener listener)
Das Objekt, das mit
ArchiveRequestManager.addArchiveAvailabilityListener(de.bsvrz.dav.daf.main.archive.ArchiveAvailabilityListener) übergeben wurde, wird nicht mehr benachrichtigt sobald sich die Erreichbarkeit des Archivsystems
über den Datenverteiler ändert. |
(package private) void |
removeRequest(Object key)
Diese Methode entfernt eine Archivauftrag aus der Hashtable.
|
ArchiveDataQueryResult |
request(ArchiveQueryPriority priority,
ArchiveDataSpecification spec)
Diese Methode stellt eine Anfrage an das Archiv.
|
ArchiveDataQueryResult |
request(ArchiveQueryPriority priority,
List<ArchiveDataSpecification> specs)
Diese Methode stellt eine Anfrage an das Archiv.
|
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.
|
private void |
requestDataResponse(Data data)
Diese Methode wird aufgerufen, wenn eine Antwort auf einen Auftrag zum initierten Nachfordern von Daten vorliegt.
|
ArchiveInfoQueryResult |
requestInfo(ArchiveDataSpecification spec)
Start einer Archivinformationsanfrage an das Archivsystem.
|
ArchiveInfoQueryResult |
requestInfo(List<ArchiveDataSpecification> specs)
Start einer Archivinformationsanfrage an das Archivsystem.
|
private void |
requestInfoResponse(Data data)
Diese Methode wird aufgerufen, wenn eine Antwort auf eine Archiveinformationsanfrage vorliegt.
|
private void |
requestNumQueriesResponse(Data data)
Diese Methode wird aufgerufen, wenn eine Antwort auf eine Archiveinformationsanfrage vorliegt.
|
private void |
restoreDataResponse(Data data) |
ArchiveQueryResult |
restorePersistentData(List<ArchiveInformationResult> requiredData)
Diese Methode beauftragt das Archivsystem bestimmten Daten, die sich nicht im direkten Zugriff befinden, von der Sicherung wieder in den direkten Zugriff
des Archivsystems zu bringen.
|
ArchiveQueryResult |
savePersistentData()
Beauftragt das Archivsystem Archivdaten der Sicherung
ArchiveFileSaver zu übergeben. |
private void |
savePersistentDataResponse(Data data)
Diese Methode wird aufgerufen, wenn eine Antwort auf einen Speicherauftrag vorliegt.
|
(package private) void |
sendTicketToArchive(ArchiveQueryID archiveRequest,
byte[] ticket)
Diese Klasse wird von der Implementation des StreamDemultixplexerDirector benötigt.
|
void |
setReceiveBufferSize(int numberOfBytes)
Die Puffergröße (in Byte) des Empfängers auf einen anderen Wert als den default Wert setzen.
|
private Collection<ArchiveDataSpecification> |
splitQueryBetweenObjects(ArchiveDataSpecification spec) |
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.
|
private void |
subscribeSender()
Diese Methode meldet die Archivapplikation als Sender von Archivanfragen/Tickets/Archivaufgaben an.
|
void |
unsubscribeReceiver(DatasetReceiverInterface receiver,
SystemObject object,
DataDescription dataDescription)
Die Implementation dieser Methode meldet einen Empfänger ab, der mit der Methode
ArchiveRequestManager.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. |
private void |
unsubscribeSender()
Diese Methode meldet den StreamedArchiveRequester als Sender von Archivanfragen/Tickets ab.
|
private final ClientDavInterface _connection
private byte _state
private final Byte _lockState
synchronized()
benötigt, es sperrt den Zugriff auf die Variable _state.private int _indexOfRequest
private final Map _requests
private int _receiveBufferSize
setReceiveBufferSize(int)
gesetzt werden.private final SystemObject _archiveSystem
private final Date _timeOutArchiveRequest
private static Debug _debug
private StreamedArchiveRequester.ClientSender _clientSender
private DataDescription _dataDescriptionSender
private final short _defaultSimulationVariant
private final SubscriptionArchiveOnlineDataManager _subscriptionArchiveOnlineDataManager
private final List<ArchiveAvailabilityListener> _listener
private boolean _gotDataRequest
public StreamedArchiveRequester(ClientDavInterface archiveConnection, int timeOutArchiveRequest, SystemObject archiveSystem, short defaultSimulationVariant)
archiveConnection
- Eine Verbindung auf der Datensätze verschickt werden sollenarchiveSystem
- Das Archiv, für das die Datensätze bestimmt sindpublic ArchiveDataQueryResult request(ArchiveQueryPriority priority, List<ArchiveDataSpecification> specs) throws IllegalStateException
request
in interface ArchiveRequestManager
priority
- Mit welcher Priorität soll die Anfrage beantwortet werden (hohe, mittlere, niedrige Priorität)specs
- Eine Liste von Objekten, die alle Informationen enthalten, die zur Bearbeitung der Archivanfrage nötig sind. Für jedes Objekt der Liste wird
ein Stream bereitgestellt, der die geforderten Informationen enthält.Wird eine leere Liste übergeben, wird das Objekt, das die Antwort auf
diese Anfrage enthält, ein Array mit Streams zurückgegbene, das ebenfalls leer ist.specs
leer, ist das Array, das die Streams
darstellt, ebenfalls leer.IllegalStateException
- Das Archiv, an das die Anfrage gestellt wurde, kann nicht erreicht werden, die Anfrage wird verworfen.private ArchiveDataQueryResult query(ArchiveQueryPriority priority, List<ArchiveDataSpecification> specs, ArchiveQueryID archiveQueryID)
private Collection<ArchiveDataSpecification> splitQueryBetweenObjects(ArchiveDataSpecification spec)
private SystemObject[] getAffectedObjects(ArchiveDataSpecification spec)
private ArchiveDataQueryResult rawQuery(ArchiveQueryPriority priority, List<ArchiveDataSpecification> specs, ArchiveQueryID archiveQueryID)
private static ArchiveDataQueryResult getEmptyResult()
public ArchiveDataQueryResult request(ArchiveQueryPriority priority, ArchiveDataSpecification spec) throws IllegalStateException
request
in interface ArchiveRequestManager
priority
- Mit welcher Priorität soll die Anfrage beantwortet werden (hohe, mittlere, niedrige Priorität)spec
- Ein Objekt, das alle Informationen enthält, die zur Bearbeitung der Archivanfrage nötig sind.IllegalStateException
- Das Archiv, an das die Anfrage gestellt wurde, kann nicht erreicht werden, die Anfrage wird verworfen.public void setReceiveBufferSize(int numberOfBytes)
setReceiveBufferSize
in interface ArchiveRequestManager
numberOfBytes
- private Query getQuery(int indexOfQuery, SystemObject archiveReference)
int
identifiziert. Dieses
int wird dann intern in ein Integer
umgewandelt.indexOfQuery
- Index der ArchivanfragearchiveReference
- Von welchem Archiv kommt die Antwortvoid removeRequest(Object key)
key
- key, der zu einem Archivauftrag (delete, restore, save, Archivinformationsanfrage, Archivanfrage) gehört, der entfernt werden sollpublic void dataReceiver(Data data)
data
- Datensatz eines Archivsprivate void intitiateArchiveQueryResponse(Data data)
data
- Datensatzvoid sendTicketToArchive(ArchiveQueryID archiveRequest, byte[] ticket) throws DataNotSubscribedException, SendSubscriptionNotConfirmed, DataModelException
archiveRequest
- Mit diesem Objekt kann die Archivanfrage eindeutig identifiziert werdenticket
- Ein byte-Array, das kodiert das Ticket für den StreamMultiplexer der Senderapplikation enthältDataNotSubscribedException
- Es sollen Daten ohne Anmeldung auf die Daten verschickt werdenSendSubscriptionNotConfirmed
- Es liegt keine positive Sendesteuerung vom Datenverteiler für die zu versendenden Daten vorDataModelException
void archiveDataResponse(Data data)
data
- Nutzdaten, die vom Archiv geschickt wurdenvoid createArchivRequestResultData(ArchiveQueryID archiveRequest, int messageType, byte[] dataArray) throws DataNotSubscribedException, SendSubscriptionNotConfirmed, IllegalStateException, DataModelException
archiveRequest
- Ein Object, das den Index der Anfrage und eine Referenz auf die anfragende Applikation enthältmessageType
- Von welchem Typ ist das PaketdataArray
- Hier können zusätzliche Daten codiert werdenDataNotSubscribedException
- Senden von Datensätzen ohne entsprechende SendeanmeldungSendSubscriptionNotConfirmed
- Es liegt keine positive Sendesteuerung vom Datenverteiler für die zu versendenden Daten vorIllegalStateException
- Die Verbindng zum Archive wurde abgebrochen, gleichzeitig wird versucht Datenpakete an das Archiv zu verschickenDataModelException
private void connectionLost()
private boolean isConnectionOk(Date timeOut) throws InterruptedException
timeOut
- Zeitpunkt, bis zu dem gewartet wird, um eine Verbindung aufzubauenInterruptedException
private void unsubscribeSender()
private void subscribeSender()
public ArchiveInfoQueryResult requestInfo(ArchiveDataSpecification spec)
requestInfo
in interface ArchiveRequestManager
spec
- Spezifikation der Archivdaten zu denen Information gewünscht werden.public void subscribeReceiver(DatasetReceiverInterface receiver, SystemObject object, DataDescription dataDescription, ReceiveOptions options, HistoryTypeParameter historyType, long history)
ArchiveRequestManager
subscribeReceiver
in interface ArchiveRequestManager
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 liegenpublic void unsubscribeReceiver(DatasetReceiverInterface receiver, SystemObject object, DataDescription dataDescription)
ArchiveRequestManager
ArchiveRequestManager.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.unsubscribeReceiver
in interface ArchiveRequestManager
object
- System-Objekt für die die spezifizierten Daten angemeldet wurdendataDescription
- Beschreibende Informationen zu den angemeldeten Datenpublic ArchiveInfoQueryResult requestInfo(List<ArchiveDataSpecification> specs)
requestInfo
in interface ArchiveRequestManager
specs
- Liste mit Spezifikationen der Archivdaten zu denen Information gewünscht werdenprivate void requestInfoResponse(Data data)
data
- Archivantwort auf einen Archivinformationsanfragepublic ArchiveNumQueriesResult getNumArchiveQueries()
ArchiveRequestManager
ArchiveQueryResult.isRequestSuccessful()
liefert false zurück und es gibt eine entsprechende Fehlermeldung) kann davon ausgegangen werden,
dass eine ältere Archivsystem-Version eingesetzt wird und maximal 5 gleichzeitige Anfragen pro Applikation zulässig sind.getNumArchiveQueries
in interface ArchiveRequestManager
private void requestNumQueriesResponse(Data data)
data
- Archivantwort auf einen Archivinformationsanfragepublic ArchiveQueryResult savePersistentData()
ArchiveRequestManager
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.savePersistentData
in interface ArchiveRequestManager
private void savePersistentDataResponse(Data data)
data
- Archivantwort auf Speicherauftragpublic ArchiveQueryResult requestData(Collection<ArchiveInformationResult> requiredData, Collection<SystemObject> requestedArchives)
ArchiveRequestManager
requestData
in interface ArchiveRequestManager
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.public ArchiveQueryResult requestData(long startTime, long endTime, Collection<SystemObject> requestedArchives)
ArchiveRequestManager
requestData
in interface ArchiveRequestManager
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 werdenprivate void requestDataResponse(Data data)
data
- Antwort auf den Auftrag zum nachfordern von Datenpublic ArchiveQueryResult restorePersistentData(List<ArchiveInformationResult> requiredData)
restorePersistentData
in interface ArchiveRequestManager
requiredData
- Zeitbereiche, die wieder in den direkten Zugriff des Archivsystems gebracht werden sollenprivate void restoreDataResponse(Data data)
public ArchiveQueryResult deleteDataSimulationVariant(short simulationVariant)
deleteDataSimulationVariant
in interface ArchiveRequestManager
simulationVariant
- Simulationsvariante von der alle Daten aus dem Archivsystem entfernt werden sollenprivate void deletePersistentDataResponse(Data data)
data
- Archivantwort auf Speicherauftragpublic ArchiveQueryResult increaseDeleteTime(List<ArchiveInformationResult> requiredData, long timePeriod)
ArchiveRequestManager
increaseDeleteTime
in interface ArchiveRequestManager
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)private void increaseDeleteTimeResponse(Data data)
public ArchiveQueryResult deleteData(List<ArchiveInformationResult> dataDisposedToDelete, boolean deleteImmediately)
ArchiveRequestManager
ArchiveRequestManager.increaseDeleteTime(java.util.List<de.bsvrz.dav.daf.main.archive.ArchiveInformationResult>, 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.deleteData
in interface ArchiveRequestManager
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 entferntprivate void deleteDataResponse(Data data)
public ArchiveQueryResult archiveFileSaverAlignment(int volumeIdTypB)
ArchiveRequestManager
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).archiveFileSaverAlignment
in interface ArchiveRequestManager
volumeIdTypB
- Eindeutige Identifikation eines Speichermediums Typ Bpublic boolean isArchiveAvailable()
ArchiveRequestManager
isArchiveAvailable
in interface ArchiveRequestManager
public void addArchiveAvailabilityListener(ArchiveAvailabilityListener listener)
ArchiveRequestManager
listener
wird benachrichtigt sobald sich die Erreichbarkeit des Archivsystems über den Datenverteiler ändert.addArchiveAvailabilityListener
in interface ArchiveRequestManager
listener
- Objekt, das benutzt wird um Änderungen der Erreichbarkeit des Archivsystems über den Datenverteiler anzuzeigenpublic void removeArchiveAvailabilityListener(ArchiveAvailabilityListener listener)
ArchiveRequestManager
ArchiveRequestManager.addArchiveAvailabilityListener(de.bsvrz.dav.daf.main.archive.ArchiveAvailabilityListener)
übergeben wurde, wird nicht mehr benachrichtigt sobald sich die Erreichbarkeit des Archivsystems
über den Datenverteiler ändert.removeArchiveAvailabilityListener
in interface ArchiveRequestManager
listener
- Objekt, das nicht mehr benachrichtigt werden soll, wenn sich die Erreichbarkeit des Archivsystems über den Datenverteiler ändertprivate void adviseListener()
private void archiveFileSaverAlignmentResponse(Data data)