Class FSServer


  • public final class FSServer
    extends Object
    Diese Klasse implementiert einen Frontendserver gegen den sich verbunden werden kann.

    Der Frontendserver ist eine Instanz gegen den sich von einem Masterserver aus verbunden werden kann. Der Frontendserver wird gestartet und lauscht auf einen definierten Port. Läuft der Frontendserver kann sich genau ein Masterserver auf ihn verbinden. Für mehr Informationen siehe formcycle Hilfe

    Das Initialisieren eines Fontendservers kann wie folgt aussehen:
     ...
     private void startFServer() {
         // Starte auf Port 4753 mit dem Namen "FormCycle - Frontend-Server".
         // Der Name darf nicht abweichen. Es wird empfohlen die Konstante: "CmnConst.FRONTENDSERVER_NAME" zu nutzen.
         FServer.startServer(4753, CmnConst.FRONTENDSERVER_NAME);
         while (!FServer.getStatus().equals(EConnectionStatus.CONNECTED)) {
           //Warten bis sich ein Masterserver verbunden hat oder abbrechen nach einer definierten Zeit...
         }
         //Masterserver hat sich erfolgreich verbunden
     }
     ...
     

    Zum Aufbau der Verbindung muss ein Port angegeben werden, der dann in der Masterserver-Konfiguration eingestellt wird. Zudem muss der Name des Frontendserver angegeben werden. Dieser Name muss "FormCycle - Frontend-Server" lauten. Mit dem Aufbau der Verbindung versucht der Masterserver eine Konfigurationsdatei für die Verbindung anzulegen. Damit dies gelingt muss ein Verzeichnis META-INF existieren mit einer Daten Names xima-formcycle.properties . Der Masterserver legt die Konfiguration in dieses Verzeichnis. Die Datei wird zunächst im Classpath gesucht, wird hier nix gefunden, so wird relativ zum Ausführungsort gesucht.

    Wird eine Frontendserver-Verbindung gekappt ohne, dass die Verbindung explizit geschlossen wird, versucht der Masterserver die Verbindung erneut aufzubauen. Gelingt dies nach einer gewissen Zeit nicht, wird die Verbindung komplett geschlossen und es muss sich explizit neu Verbinden werden.

    Zum expliziten Schließen der Verbindung kann folgender Aufruf genutzt werden:
     ...
     FServer.disconnectMaster();
     ...
     
    Author:
    XIMA MEDIA GmbH
    • Field Detail

      • LOG

        public static final org.slf4j.Logger LOG
    • Method Detail

      • startServer

        public static void startServer​(String networkInterface,
                                       int port,
                                       String serverName)
        Methode zum Starten des Servers ohne SSL
        Parameters:
        networkInterface - das Netzwerk-Interface auf welchem der Server lauschen soll
        port - auf dem der Frontend-Server lauschen soll
        serverName - String der Name des Servers
      • startServer

        public static void startServer​(String networkInterface,
                                       int port,
                                       String serverName,
                                       boolean useSSL,
                                       String keyStorePath,
                                       String keyStorePass)
        Methode zum Starten des Servers mit ggf. zu verwendender SSL-Verschlüsselung
        Parameters:
        networkInterface - das Netzwerk-Interface auf welchem der Server lauschen soll
        port - auf dem der Frontend-Server lauschen soll
        serverName - String der Name des Servers
        useSSL - soll die Verbindung SSL-Verschlüsselt werden oder nicht
        keyStorePath - Pfad zum Keystore für die SSL-Verschlüsselung
        keyStorePass - Passwort des Keysores für die SSL-Verschlüsselung
      • stopServer

        public static void stopServer()
        Methode zum Stoppen des Frontend-Servers
      • restartServer

        public static void restartServer()
        Neustart des Frontend-Servers mit den aktuellen Einstellungen
      • isRunning

        public static boolean isRunning()
      • isConnected

        public static boolean isConnected()
      • disconnect

        public static boolean disconnect​(String connectionID,
                                         boolean forced)
      • getClient

        public static IFSClient getClient()
      • getError

        public static String getError()
        Getter für error
        Returns:
        String des error
      • getNetworkInterface

        public static String getNetworkInterface()
        Methode zur Ausgabe auf welchem Netzwerk-Interface der Server lauschen soll
        Returns:
        das Netzwerk-Interface
      • getPort

        public static Integer getPort()
        Methode zur Ausgabe des Ports auf dem der Frontendserver hört
        Returns:
        Portnummer
      • isUseSSL

        public static boolean isUseSSL()
        Methode zur Ausgabe ob die Verbindung mittels SSL verschlüsselt wird
        Returns:
        boolean
      • unreferenced

        public static void unreferenced​(String connectionID)