Class ServerDavParameters


  • public 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 Detail

      • 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 Detail

      • 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 final 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 final 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 final 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 final 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 final 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 final 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 final 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 final 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 final 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 final 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 final 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 final long getDataTransmitterId()
        Gibt die Id des Datenverteilers zurück
        Returns:
        die Datenverteiler Id
      • setDataTransmitterId

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

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

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

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

        public final 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 final java.lang.String getAuthentificationProcessName()
        Bestimmt das bei der Authentifizierung zu verwendende Verfahren.
        Returns:
        authentificationProcessName Name des Verfahrens
      • setAuthentificationProcessName

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

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

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

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

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

        public final 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 final 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 final 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 final 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 final 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 final 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 final 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 final 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 final 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 final 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 final 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 final 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 final 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 final 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 final 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 final java.lang.Object[] getLocalModeParameter()
        Gibt die Konfigurationsparameter des Lokalen Modus zurück.
        Returns:
        die Pid und die Id der Konfigurationsapplikation
      • setLocalModeParameter

        public final 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 final java.lang.Object[] getRemoteModeParameter()
        Gibt die Konfigurationsparameter des Remote-Modus zurück.
        Returns:
        die Konfigurationsparameter des Remote-Modus
      • setRemoteModeParameter

        public final 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 final long getConfigurationId()
        Gibt die Konfigurationsid zurück
        Returns:
        die Konfigurationsid
      • setConfigurationId

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

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

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

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

        public final 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 final java.lang.String getParameterUserName()
        Gibt der Parametrierungsbenutzername zurück
        Returns:
        der Parametrierungsbenutzername
      • setParameterUserName

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

        public final 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 final 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
      • printArgumentsList

        public static void printArgumentsList()
        Gibt auf der Standardausgabe die möglichen Startargumente einer Datenverteilerapplikation aus.
      • 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
      • setAllowHmacAuthentication

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

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

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

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