ejserver.enableCompression();
ejclient.enableCompression(true);
Deaktiverung des non-blocking I/O im EJServer:
ejserver.enableNonBlockingIO( false );
EJOE unterstützt das sog. Remote Classloading. Beim Remote Classloading werden unbekannte Klassen
bei der Deserialisierung von Serverantworten automatisch vom EJServer nachgeladen. Dies erspart die manuelle
Verteilung aller verwendeten Klassen auf Clients. Beim Remote Classloading wird ein besonderer Classloader,
de.netseeker.ejoe.EJClassLoader, benutzt.
Dieser Classloader benutzt interessanterweise intern ebenfalls einen EJClient um Klassen vom Server nachzuladen.
Ja, wir essen unsere eigenen Kost wie man so schön sagt. ;-)
Remote Classloading muss zuerst im EJServer aktiviert werden:
EJServer myServer = ...; myServer.enableRemoteClassLoading(true);
EJClient myClient = ...; myClient.enableRemoteClassloading(true);
Bei aktiviertem Remote Classloading ändert EJClient den Kontext-Classloader des aktuellen Prozesses. Normalerweise ergeben sich daraus keine Probleme, da EJClient Klassenanfragen zuerst an den vorherig aktiven Classloader delegiert...
HTTP wird normalerweise benutzt um Daten zwischen einem Browser und einem Webserver auszutauschen. In vielen Firewalls ist HTTP über Port 80 deshalb freigeschaltet, während andere Ports und Protokolle reguliert werden. EJOE kann sich diesen Umstand zu nutze machen, um auch EJClients, die sich hinter derartigen Firewalls befinden zu bedienen.
Zuerst muss die HTTP-Unterstützung im EJServer aktiviert werden:
EJServer server = new EJServer( ... ); server.enableHttpPackaging( true );
Aktivierung der HTTP-Unterstützung im EJClient:
EJClient myClient = new EJClient(...); myClient.enableHttpPackaging( true );
HTTP-Unterstützung kann ausschließlich mit aktiviertem non-blocking I/O (default) benutzt werden!