Class FSServer
- java.lang.Object
-
- de.xima.fc.fs.server.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 Namesxima-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 Summary
Fields Modifier and Type Field Description static org.slf4j.Logger
LOG
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static IFSSession
authClient(IFSClient client, FrontendServer fsEntity)
static boolean
disconnect(String connectionID, boolean forced)
static void
execCallback(String connectionID, String callbackName, IFormDataAdapter saveFormData, Vorgang vorgang)
Deprecated.will be removedstatic IFSClient
getClient()
static EConnectionStatus
getConnectionStatus()
Getter für statusstatic String
getError()
Getter für errorstatic String
getNetworkInterface()
Methode zur Ausgabe auf welchem Netzwerk-Interface der Server lauschen sollstatic Integer
getPort()
Methode zur Ausgabe des Ports auf dem der Frontendserver hörtstatic boolean
isConnected()
static boolean
isRunning()
static boolean
isUseSSL()
Methode zur Ausgabe ob die Verbindung mittels SSL verschlüsselt wirdstatic void
restartServer()
Neustart des Frontend-Servers mit den aktuellen Einstellungenstatic void
startServer(String networkInterface, int port, String serverName)
Methode zum Starten des Servers ohne SSLstatic void
startServer(String networkInterface, int port, String serverName, boolean useSSL, String keyStorePath, String keyStorePass)
Methode zum Starten des Servers mit ggf.static void
stopServer()
Methode zum Stoppen des Frontend-Serversstatic void
unreferenced(String connectionID)
static void
writeConfig(String connectionID, String name, byte[] data)
-
-
-
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 sollport
- auf dem der Frontend-Server lauschen sollserverName
-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 sollport
- auf dem der Frontend-Server lauschen sollserverName
-String
der Name des ServersuseSSL
- soll die Verbindung SSL-Verschlüsselt werden oder nichtkeyStorePath
- Pfad zum Keystore für die SSL-VerschlüsselungkeyStorePass
- 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()
-
authClient
public static IFSSession authClient(IFSClient client, FrontendServer fsEntity) throws Exception
- Throws:
Exception
-
isConnected
public static boolean isConnected()
-
disconnect
public static boolean disconnect(String connectionID, boolean forced)
-
execCallback
@Deprecated public static void execCallback(String connectionID, String callbackName, IFormDataAdapter saveFormData, Vorgang vorgang) throws Exception
Deprecated.will be removed- Throws:
Exception
-
writeConfig
public static void writeConfig(String connectionID, String name, byte[] data) throws IOException
- Throws:
IOException
-
getConnectionStatus
public static EConnectionStatus getConnectionStatus()
Getter für status- Returns:
EConnectionStatus
des status
-
getClient
public static IFSClient getClient()
-
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)
-
-