Der Web-Messaging-Service liest Konfigurationsdaten aus der Datei "webmsg.json" im Verzeichnis "WebContent/WEB-INF" eines Webmoduls einer Java-EE-Anwendung (JavaTM Platform, Enterprise Edition). Die Daten werden beim Starten und Stoppen der Anwendung gelesen, um den Web-Messaging-Service mit Konfigurationsdaten zu initialisieren. Die Datei befindet sich in demselben Verzeichnis wie die Datei "web.xml" eines Webmoduls, deren Position nicht geändert werden kann. Die Datei webmsg.json hat das JSON-Format (JavaScriptTM Object Notation), und der Inhalt der Datei sollte ein JSON-Objekt repräsentieren. Ein JSON-Objekt ist eine Sammlung von Schlüssel-Wert-Paaren. Sehen Sie sich dazu das folgende Beispiel für eine Web-Messaging-Konfigurationsdatei an:
{ "WebMsgServlet": { "busName": "thebus", "destination": "Default.Topic.Space", "clientCanPublish": false, "longPollTimeout": 30 } } |
Jeder Schlüssel im JSON-Objekt gibt einen in dem Webmodul vorhandenen Servlet-Namen an, in dem die Datei "webmsg.json" angegeben ist. Die Werte der einzelnen Schlüssel sind weitere JSON-Objekte, in denen Web-Messaging-Konfigurationsoptionen angegeben sind. Ankommende Web-Messaging-Anforderungen werden anhand der Servlet-Zuordnungen für das angegebene Servlet ermittelt. Diese ankommenden Anforderungen werden mit den angegebenen Konfigurationsoptionen verarbeitet. Das folgende Beispiel ist ein Fragment einer Datei "web.xml" mit dem Servlet WebMsgServlet und den zugehörigen Servlet-Zuordnungen:
<servlet> <display-name>WebMsgServlet</display-name> <servlet-name>WebMsgServlet</servlet-name> <servlet-class> com.ibm.websphere.webmsg.servlet.WebMsgServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>WebMsgServlet</servlet-name> <url-pattern>/stockServlet</url-pattern> </servlet-mapping> |
Das Servlet WebMsgServlet ist im obigen Beispiel /stockServlet zugeordnet. Alle ankommenden Web-Messaging-Anforderungen, die /stockServlet zugeordnet sind, werden mit den Konfigurationsparametern in der Datei "webmsg.json" aus dem obigen Beispiel verarbeitet. In diesem Fall verwenden die Web-Messaging-Anforderungen den Service Integration Bus thebus, den Standardtopicbereich Default.Topic.Space und ein Bayeux-Long-Polling-Zeitlimit von 30. Web-Messaging-Clients können keine Nachrichten auf dem Server veröffentlichen.
Die meisten Konfigurationen müssen nur ein Servlet und den zugehörigen Konfigurationseintrag in webmsg.json erstellen. Es gibt aber auch Situationen, in denen in einem Webmodul mehrere Definitionen erstellt werden müssen. Dies ist zum Beispiel notwendig, wenn Verbindungen zu verschiedenen SIBs hergestellt, ein anderes Standardziel angegeben oder Clients nach Bayeux-Long-Polling-Zeitlimits unterschieden werden sollen. Um ankommende Anforderungen ausgehend von Konfigurationsparametern zu separieren, müssen eine neue, com.ibm.websphere.webmsg.servlet.WebMsgServlet zugeordnete Servlet-Definition und eine neue Servlet-Zuordnung erstellt werden. Abschließend muss in webmsg.json ein neuer Eintrag mit den gewünschten Konfigurationsparametern erstellt werden. Dieser Eintrag muss einen Schlüssel für die Zuordnung zum neu erstellten Servlet enthalten.
Die folgenden Unterabschnitte beschreiben detailliert alle möglichen Web-Messaging-Konfigurationsoptionen.