Wer eine Java-Applikation mit dem WebSocket-Protokoll erstellen möchte, der braucht einen Anwendungsserver (engl. application server) mit WebSocket-Unterstützung. Ich bevorzuge den GlassFish Application Server in der aktuellen Version 3.1.2.2. Im GlassFish 3.1.2.2 gibt es drei Wege, um WebSockets einzuschalten.
Methode 1: Admin Console
Über die GlassFish Administrationskonsole lassen sich WebSockets über folgenden Befehl einschalten:
asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.websockets-support-enabled=true |
Windows-Benutzer können den set
-Befehl über die Batch-Datei der Administrationskonsole benutzen:
C:\glassfish3\glassfish\bin\asadmin.bat set configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.websockets-support-enabled=true |
Methode 2: Web Administration Console
Man kann den GlassFish auch über die Web-Administrationskonsole (http://localhost:4848/) erreichen und einstellen. Die Option dafür findet man unter:
Configurations -> server-config -> HTTP Service -> Http Listeners -> http-listener-1 -> Advanced configuration -> HTTP -> Websockets Support anhaken -> Save
Screenshot:
Methode 3: Konfigurationsdatei bearbeiten
Alle genannten Methoden machen das Gleiche: Sie verändern eine Einstellung in der GlassFish-Konfigurationsdatei der aktuellen Domain (domain.xml).
Ein Ort, an dem diese Datei gefunden werden kann, ist zum Beispiel:
C:\glassfish3\glassfish\domains\domain1\config\domain.xml
.
In dieser Datei muss folgender Eintrag geändert werden:
<http default-virtual-server="server"> |
Damit WebSockets aktiviert werden, muss Folgendes eingetragen werden:
<http websockets-support-enabled="true" default-virtual-server="server"> |
Beispielhafter Eintrag:
<network-config> <protocols> <protocol name="http-listener-1"> <http websockets-support-enabled="true" default-virtual-server="server" max-connections="250" comet-support-enabled="true"> <file-cache></file-cache> </http> </protocol> ... </network-config> |
Aufpassen!
Die server-config wird vom Server tatsächlich benutzt. Die default-config ist hingegen nur ein Template, an dem sich für eine Serverkonfiguration orientiert werden kann.