Class ServerDavParameters

java.lang.Object
de.bsvrz.dav.dav.main.ServerDavParameters

public final class ServerDavParameters
extends java.lang.Object
Diese Klasse stellt die Parameter des Datenverteilers auf Server-Seite zur Verfügung. Diese Parameter werden durch den Konstruktor oder durch entsprechende Setter-Methoden gesetzt und können durch entsprechende Getter-Methoden gelesen werden.
  • Constructor Details

    • ServerDavParameters

      public ServerDavParameters​(de.bsvrz.sys.funclib.commandLineArgs.ArgumentList argumentList) throws de.bsvrz.dav.daf.main.MissingParameterException
      Erzeugt einen neuen Parametersatz mit Defaultwerten für die einzelnen Parameter und setzt die in den übergebenen Aufrufargumenten angegebenen Parameter mit den angegebenen Werten. Unbekannte Aufrufargumente werden ignoriert. Bekannte Aufrufargumente werden nach der Umsetzung auf null gesetzt, um zu signalisieren, daß diese Argumente bereits interpretiert wurden.
      Parameters:
      argumentList - Die auszuwertenden Aufrufargumente.
      Throws:
      de.bsvrz.dav.daf.main.MissingParameterException - Falls ein Argument nicht oder nicht korrekt angegeben wurde.
  • Method Details

    • printArgumentsList

      public static void printArgumentsList()
      Gibt auf der Standardausgabe die möglichen Startargumente einer Datenverteilerapplikation aus.
    • getStoredClientCredentials

      @Nullable public de.bsvrz.dav.daf.main.authentication.ClientCredentials getStoredClientCredentials​(java.lang.String userName, java.lang.String suffix)
      Bestimmt das in der Passwort-Datei gespeicherte Passwort eines bestimmten Benutzers.
      Parameters:
      userName - Name des Benutzers
      suffix - Verbindungsziel (z.B. Datenverteiler-Pid)
      Returns:
      Passwort des Benutzers oder null, wenn kein Passwort für den Benutzer in der Passwort-Datei enthalten ist.
    • getMaxDataTelegramSize

      public int getMaxDataTelegramSize()
      Bestimmt die maximale Größe von Datentelegrammen. Größere Telegramme werden in mehrere Telegramme zerlegt.
      Returns:
      maxTelegramSize Maximale Größe von versendeten Datentelegrammen.
    • setMaxDataTelegramSize

      public void setMaxDataTelegramSize​(int maxTelegramSize)
      Setzt die maximale Größe von Datentelegrammen. Größere Telegramme werden in mehrere Telegramme zerlegt.
      Parameters:
      maxTelegramSize - Maximale Größe von versendeten Datentelegrammen.
    • getTransmitterConnectionsSubAddress

      public int getTransmitterConnectionsSubAddress()
      Liefert die Subadresse mit der dieser Datenverteiler auf Verbindungen von anderen Datenverteilern wartet. Dies entspricht bei TCP-Verbindungen der TCP-Portnummer des Server-Sockets.
      Returns:
      Subadresse mit der dieser Datenverteiler auf Verbindungen von anderen Datenverteilern wartet.
    • setTransmitterConnectionsSubAddress

      public void setTransmitterConnectionsSubAddress​(int port)
      Setzt die Subadresse mit der dieser Datenverteiler auf Verbindungen von anderen Datenverteilern wartet.
      Parameters:
      port - Subadresse mit der dieser Datenverteiler auf Verbindungen von anderen Datenverteilern wartet.
    • getTransmitterConnectionsSubAdress

      @Deprecated public int getTransmitterConnectionsSubAdress()
      Deprecated.
      Statt dieser Methode sollte die Methode getTransmitterConnectionsSubAddress() verwendet werden.
      Liefert die Subadresse mit der dieser Datenverteiler auf Verbindungen von anderen Datenverteilern wartet. Dies entspricht bei TCP-Verbindungen der TCP-Portnummer des Server-Sockets.
      Returns:
      Subadresse mit der dieser Datenverteiler auf Verbindungen von anderen Datenverteilern wartet.
    • setTransmitterConnectionsSubAdress

      @Deprecated public void setTransmitterConnectionsSubAdress​(int port)
      Deprecated.
      Statt dieser Methode sollte die Methode setTransmitterConnectionsSubAddress(int) verwendet werden.
      Setzt die Subadresse mit der dieser Datenverteiler auf Verbindungen von anderen Datenverteilern wartet.
      Parameters:
      port - Subadresse mit der dieser Datenverteiler auf Verbindungen von anderen Datenverteilern wartet.
    • getTransmitterConnectionsSubAddressOffset

      public int getTransmitterConnectionsSubAddressOffset()
      Liefert einen Offset für die Subadresse mit der dieser Datenverteiler auf Verbindungen von anderen Datenverteilern wartet.
      Returns:
      Offset für die Subadresse mit der dieser Datenverteiler auf Verbindungen von anderen Datenverteilern wartet.
    • getApplicationConnectionsSubAddress

      public int getApplicationConnectionsSubAddress()
      Liefert die Subadresse mit der dieser Datenverteiler auf Verbindungen von Applikationen wartet. Dies entspricht bei TCP-Verbindungen der TCP-Portnummer des Server-Sockets.
      Returns:
      Subadresse mit der dieser Datenverteiler auf Verbindungen von Applikationen wartet.
    • setApplicationConnectionsSubAddress

      public void setApplicationConnectionsSubAddress​(int port)
      Setzt die Subadresse mit der dieser Datenverteiler auf Verbindungen von Applikationen wartet.
      Parameters:
      port - Subadresse mit der dieser Datenverteiler auf Verbindungen von Applikationen wartet.
    • getApplicationConnectionsSubAdress

      @Deprecated public int getApplicationConnectionsSubAdress()
      Deprecated.
      Statt dieser Methode sollte die Methode getApplicationConnectionsSubAddress() verwendet werden.
      Liefert die Subadresse mit der dieser Datenverteiler auf Verbindungen von Applikationen wartet. Dies entspricht bei TCP-Verbindungen der TCP-Portnummer des Server-Sockets.
      Returns:
      Subadresse mit der dieser Datenverteiler auf Verbindungen von Applikationen wartet.
    • setApplicationConnectionsSubAdress

      @Deprecated public void setApplicationConnectionsSubAdress​(int port)
      Deprecated.
      Statt dieser Methode sollte die Methode setApplicationConnectionsSubAddress(int) verwendet werden.
      Setzt die Subadresse mit der dieser Datenverteiler auf Verbindungen von Applikationen wartet.
      Parameters:
      port - Subadresse mit der dieser Datenverteiler auf Verbindungen von Applikationen wartet.
    • getDataTransmitterId

      public long getDataTransmitterId()
      Gibt die Id des Datenverteilers zurück
      Returns:
      die Datenverteiler Id
    • setDataTransmitterId

      public void setDataTransmitterId​(long dvId)
      Setzt die Id der Datenverteiler auf den neuen Wert
      Parameters:
      dvId - neue Datenverteiler Id
    • getDataTransmitterName

      public java.lang.String getDataTransmitterName()
      Bestimmt den Namen des Datenverteilers.
      Returns:
      applicationName Name des zu erzeugenden Applikation-Objekts
    • setDataTransmitterName

      public void setDataTransmitterName​(java.lang.String dataTransmitterName)
      Setzt den Namen des Datenverteilers.
      Parameters:
      dataTransmitterName - Name des Datenverteilers
    • getDataTransmitterTypePid

      public java.lang.String getDataTransmitterTypePid()
      Bestimmt den Typ des Datenverteilers.
      Returns:
      dataTransmitterTypePid PID, die den Typ des Datenverteilers.
    • setDataTransmitterTypePid

      public void setDataTransmitterTypePid​(java.lang.String dataTransmitterTypePid)
      Setzt den Typ des Datenverteilers.
      Parameters:
      dataTransmitterTypePid - PID, die den Typ des zu erzeugenden Applikations-Objekts spezifiziert.
    • getAuthentificationProcessName

      public java.lang.String getAuthentificationProcessName()
      Bestimmt das bei der Authentifizierung zu verwendende Verfahren.
      Returns:
      authentificationProcessName Name des Verfahrens
    • setAuthentificationProcessName

      public void setAuthentificationProcessName​(java.lang.String authentificationProcessName)
      Setzt das bei der Authentifizierung zu verwendende Verfahren.
      Parameters:
      authentificationProcessName - Name des Verfahrens
    • getLowLevelCommunicationName

      public java.lang.String getLowLevelCommunicationName()
      Bestimmt das auf unterster Ebene einzusetzende Kommunikationsprotokoll.
      Returns:
      lowLevelCommunicationName Name des Kommunikationsverfahrens.
    • setLowLevelCommunicationName

      public void setLowLevelCommunicationName​(java.lang.String lowLevelCommunicationName)
      Setzt das auf unterster Ebene einzusetzende Kommunikationsprotokoll.
      Parameters:
      lowLevelCommunicationName - Name des Kommunikationsverfahrens.
    • getUserName

      public java.lang.String getUserName()
      Bestimmt den bei der Authentifizierung zu verwendenden Benutzernamen.
      Returns:
      userName Name des Benutzers.
    • setUserName

      public void setUserName​(java.lang.String userName)
      Setzt den bei der Authentifizierung zu verwendenden Benutzernamen.
      Parameters:
      userName - Name des Benutzers.
    • getSendKeepAliveTimeout

      public long getSendKeepAliveTimeout()
      Bestimmt das Timeout zum Senden von KeepAlive-Telegrammen. Der Wert dient als Vorschlag für die Verhandlung mit dem Datenverteiler, der den zu verwendenden Wert festlegt.
      Returns:
      timeout Vorschlag für das Timeout zum Senden von KeepAlive-Telegrammen.
    • setSendKeepAliveTimeout

      public void setSendKeepAliveTimeout​(long timeout)
      Setzt das Timeout zum Senden von KeepAlive-Telegrammen. Der Wert dient als Vorschlag für die Verhandlung mit dem Datenverteiler, der den zu verwendenden Wert festlegt.
      Parameters:
      timeout - Vorschlag für das Timeout zum Senden von KeepAlive-Telegrammen.
    • getReceiveKeepAliveTimeout

      public long getReceiveKeepAliveTimeout()
      Bestimmt das KeepAlive-Timeout beim Empfang von Telegrammen. Der Wert dient als Vorschlag für die Verhandlung mit dem Datenverteiler, der den zu verwendenden Wert festlegt.
      Returns:
      timeout Vorschlag für das KeepAlive-Timeout beim Empfang Telegrammen.
    • setReceiveKeepAliveTimeout

      public void setReceiveKeepAliveTimeout​(long timeout)
      Setzt das KeepAlive-Timeout beim Empfang von Telegrammen. Der Wert dient als Vorschlag für die Verhandlung mit dem Datenverteiler, der den zu verwendenden Wert festlegt.
      Parameters:
      timeout - Vorschlag für das KeepAlive-Timeout beim Empfang Telegrammen.
    • getCommunicationSendFlushDelay

      public long getCommunicationSendFlushDelay()
      Bestimmt die Verzögerungszeit zur Übertragung von gepufferten und zu versendenden Telegrammen. Die Übertragung der gesammelten Daten im Sendepuffer findet erst statt, wenn die hier angegebene Zeit lang keine Daten mehr in der Puffer geschrieben wurden oder der Sendepuffer voll ist.
      Returns:
      Verzögerungszeit
    • setCommunicationSendFlushDelay

      public void setCommunicationSendFlushDelay​(long delay)
      Setzt die Verzögerungszeit zur Übertragung von gepufferten und zu versendenden Telegrammen. Die Übertragung der gesammelten Daten im Sendepuffer findet erst statt, wenn die hier angegebene Zeit lang keine Daten mehr in der Puffer geschrieben wurden oder der Sendepuffer voll ist.
      Parameters:
      delay - Verzögerungszeit
    • getDavCommunicationOutputBufferSize

      public int getDavCommunicationOutputBufferSize()
      Bestimmt die Größe des Sendepuffers, der bei der Kommunikation mit dem Datenverteiler eingesetzt wird.
      Returns:
      bufferSize Größe des Sendepuffers in Byte.
    • setDavCommunicationOutputBufferSize

      public void setDavCommunicationOutputBufferSize​(int bufferSize)
      Setzt die Größe des Sendepuffers, der bei der Kommunikation mit dem Datenverteiler eingesetzt wird.
      Parameters:
      bufferSize - Größe des Sendepuffers in Byte.
    • getDavCommunicationInputBufferSize

      public int getDavCommunicationInputBufferSize()
      Bestimmt die Größe des Empfangspuffers, der bei der Kommunikation mit dem Datenverteiler eingesetzt wird.
      Returns:
      bufferSize Größe des Empfangspuffers in Byte.
    • setDavCommunicationInputBufferSize

      public void setDavCommunicationInputBufferSize​(int bufferSize)
      Setzt die Größe des Empfangspuffers, der bei der Kommunikation mit dem Datenverteiler eingesetzt wird.
      Parameters:
      bufferSize - Größe des Empfangspuffers in Byte.
    • getAppCommunicationOutputBufferSize

      public int getAppCommunicationOutputBufferSize()
      Bestimmt die Größe des Sendepuffers, der bei der Kommunikation mit einer Applikation eingesetzt wird.
      Returns:
      bufferSize Größe des Sendepuffers in Byte.
    • setAppCommunicationOutputBufferSize

      public void setAppCommunicationOutputBufferSize​(int bufferSize)
      Setzt die Größe des Sendepuffers, der bei der Kommunikation mit einer Applikation eingesetzt wird.
      Parameters:
      bufferSize - Größe des Sendepuffers in Byte.
    • getAppCommunicationInputBufferSize

      public int getAppCommunicationInputBufferSize()
      Bestimmt die Größe des Empfangspuffers, der bei der Kommunikation mit einer Applikation eingesetzt wird.
      Returns:
      bufferSize Größe des Empfangspuffers in Byte.
    • setAppCommunicationInputBufferSize

      public void setAppCommunicationInputBufferSize​(int bufferSize)
      Setzt die Größe des Empfangspuffers, der bei der Kommunikation mit einer Applikation eingesetzt wird.
      Parameters:
      bufferSize - Größe des Empfangspuffers in Byte.
    • isLocalMode

      public boolean isLocalMode()
      Gibt die Information zurück, ob der Datenverteiler auf eine lokale Anmeldung einer Konfigurationsapplikation warten muss.
      Returns:
      true : im lokalen Konfigurationsbetrieb. false : implements remote Konfigurationsbetrieb.
    • getLocalModeParameter

      public java.lang.Object[] getLocalModeParameter()
      Gibt die Konfigurationsparameter des Lokalen Modus zurück.
      Returns:
      die Pid und die Id der Konfigurationsapplikation
    • setLocalModeParameter

      public void setLocalModeParameter​(java.lang.String configPid, long configId)
      Setzt den Datenverteilersbetriebsmodus auf den Lokalen Modus.
      Parameters:
      configPid - die Pid der Konfigurationsapplikation
      configId - die Id der Konfigurationsapplikation
    • getRemoteModeParameter

      public java.lang.Object[] getRemoteModeParameter()
      Gibt die Konfigurationsparameter des Remote-Modus zurück.
      Returns:
      die Konfigurationsparameter des Remote-Modus
    • setRemoteModeParameter

      public void setRemoteModeParameter​(java.lang.String configDataTransmitterAddress, int configDataTransmitterSubAddress, java.lang.String configurationPid)
      Setzt den Datenverteilersbetriebsmodus auf den Remote-Modus.
      Parameters:
      configDataTransmitterAddress - die Adresse des Datenverteilers wo die Konfiguration angemeldet ist.
      configDataTransmitterSubAddress - Datenverteilersubadresse für die Konfigurationsanbindung
      configurationPid - Pid der Konfiguration
    • getConfigurationId

      public long getConfigurationId()
      Gibt die Konfigurationsid zurück
      Returns:
      die Konfigurationsid
    • setConfigurationId

      public void setConfigurationId​(long configurationId)
      Setzt der Konfigurationsid auf den neuen Wert.
      Parameters:
      configurationId - Konfigurationsid
    • getConfigurationUserName

      public java.lang.String getConfigurationUserName()
      Gibt der Konfigurationsbenutzername zurück
      Returns:
      der Konfigurationsbenutzername
    • setConfigurationUserName

      public void setConfigurationUserName​(java.lang.String configUserName)
      Setzt den Konfigurationsbenutzername auf den neuen Wert.
      Parameters:
      configUserName - Konfigurationsbenutzername
    • getConfigurationClientCredentials

      public de.bsvrz.dav.daf.main.authentication.ClientCredentials getConfigurationClientCredentials()
      Gibt Passwort oder Login-Token für den Konfigurationsbenutzer zurück
      Returns:
      der Konfigurationsbenutzerpasswort
    • setConfigurationClientCredentials

      public void setConfigurationClientCredentials​(de.bsvrz.dav.daf.main.authentication.ClientCredentials configurationClientCredentials)
      Setzt Passwort oder Login-Token für den Konfigurationsbenutzer
      Parameters:
      configurationClientCredentials - das Konfigurationsbenutzerpasswort
    • getParameterUserName

      public java.lang.String getParameterUserName()
      Gibt der Parametrierungsbenutzername zurück
      Returns:
      der Parametrierungsbenutzername
    • setParameterUserName

      public void setParameterUserName​(java.lang.String paramUserName)
      Setzt der Parametrierungsbenutzername auf den neuen Wert.
      Parameters:
      paramUserName - der Parametrierungsbenutzername
    • getParameterClientCredentials

      public de.bsvrz.dav.daf.main.authentication.ClientCredentials getParameterClientCredentials()
      Gibt Passwort oder Login-Token für den Parametrierungsbenutzer zurück
      Returns:
      Passwort oder Login-Token für den Parametrierungsbenutzer
    • setParameterClientCredentials

      public void setParameterClientCredentials​(de.bsvrz.dav.daf.main.authentication.ClientCredentials paramUserPassword)
      Setzt Passwort oder Login-Token für den Parametrierungsbenutzer auf den neuen Wert.
      Parameters:
      paramUserPassword - das Parametrierungsbenutzerpasswort
    • getAccessControlPlugins

      public java.util.List<java.lang.String> getAccessControlPlugins()
    • isUserRightsCheckingEnabled

      public boolean isUserRightsCheckingEnabled()
    • getUserRightsChecking

      public de.bsvrz.dav.daf.accessControl.AccessControlMode getUserRightsChecking()
    • getInitialInterDavServerDelay

      public long getInitialInterDavServerDelay()
      Zeit in Millisekunden, die gewartet werden soll bevor Verbindungen von anderen Datenverteilern akzeptiert werden dürfen.
      Returns:
      Zeit in Millisekunden
    • getReconnectInterDavDelay

      public long getReconnectInterDavDelay()
      Zeit in Millisekunden, die gewartet werden soll bevor versucht wird, abgebrochene Verbindungen zu anderen Datenverteilern neu aufzubauen.
      Returns:
      Zeit in Millisekunden
    • setReconnectInterDavDelay

      public void setReconnectInterDavDelay​(long reconnectInterDavDelay)
    • getClientDavParameters

      public de.bsvrz.dav.daf.main.ClientDavParameters getClientDavParameters() throws de.bsvrz.dav.daf.main.MissingParameterException
      Erzeugt einen neuen Parametersatz für eine Applikationsverbindung.
      Returns:
      Parameterobjekt zum Aufbau einer Applikationsverbindung
      Throws:
      de.bsvrz.dav.daf.main.MissingParameterException - Bei formalen Fehlern beim Lesen der Aufrufargumente oder der Defaultwerte.
    • getLowLevelCommunicationParameters

      public java.lang.String getLowLevelCommunicationParameters()
    • getWaitForParamApp

      public boolean getWaitForParamApp()
      Bestimmt, ob der Datenverteiler auf die Applikationsfertigmeldung der Parametrierung warten soll.
      Returns:
      true, falls der Datenverteiler auf die Applikationsfertigmeldung der Parametrierung warten soll
    • getParamAppIncarnationName

      public java.lang.String getParamAppIncarnationName()
      Bestimmt den Inkarnationsnamen der Parametrierung auf deren Applikationsfertigmeldung gewartet werden soll.
      Returns:
      Inkarnationsnamen der Parametrierung auf deren Applikationsfertigmeldung gewartet werden soll oder null falls der Inkarnationsname egal ist oder nicht gewartet werden soll.
      See Also:
      getWaitForParamApp()
    • getConfigAreaPidForApplicationObjects

      public java.lang.String getConfigAreaPidForApplicationObjects()
      Bestimmt die Pid des Konfigurationsbereichs in dem Applikationsobjekte erzeugt werden sollen.
      Returns:
      Pid des Konfigurationsbereichs in dem Applikationsobjekte erzeugt werden sollen oder Leerstring falls der Default-Bereich der Konfiguration verwendet werden soll.
    • isHmacAuthenticationAllowed

      public boolean isHmacAuthenticationAllowed()
      Gibt true zurück, wenn die alte Hmac-basierte Authentifizierung erlaubt ist
      Returns:
      true, wenn die alte Hmac-basierte Authentifizierung erlaubt ist, sonst false
    • getEncryptionPreference

      public de.bsvrz.dav.daf.main.EncryptionConfiguration getEncryptionPreference()
      Gibt die bevorzugte Verschlüsselungskonfiguration zurück.
      Returns:
      die bevorzugte Verschlüsselungskonfiguration
    • setEncryptionPreference

      public void setEncryptionPreference​(de.bsvrz.dav.daf.main.EncryptionConfiguration encryptionPreference)
      Setzt ob die Verbindung verschlüsselt werden soll
      Parameters:
      encryptionPreference -
    • setAllowHmacAuthentication

      public void setAllowHmacAuthentication​(boolean allowHmacAuthentication)
      Setzt, ob die alte Hmac-Authentifizierung erlaubt sein soll
      Parameters:
      allowHmacAuthentication -
    • getActiveConnections

      public com.google.common.collect.ImmutableSet<ApplicationInfo> getActiveConnections()
    • setActiveConnections

      public void setActiveConnections​(java.util.Collection<ApplicationInfo> activeConnections)