OSGi-HTTP-Whiteboard in Liberty verwenden

Sie können das Feature httpWhiteboard-1.0 verwenden, um die Entwicklung und Implementierung modularer Webanwendungen, die mit Servlettechnologien programmiert werden, zu ermöglichen.

Vorbereitende Schritte

Zur Verwendung des Features httpWhiteboard-1.0 müssen Liberty und das Feature httpWhiteboard-1.0 installiert werden.
  • Installieren Sie die neueste Version von Liberty mit den Programmiermodellfunktionen für OSGi-Anwendungen. Sie können Liberty unter Verwendung eines der ZIP-Installationspakete (ZIP-Datei) oder durch Entpacken des JAR-Pakets (Java-Archiv) installieren. Weitere Informationen zum Installieren von Liberty finden Sie unter Liberty installieren.
  • Installieren Sie das Feature httpWhiteboard-1.0. Wenn das Feature nicht in den heruntergeladenen ZIP-Archivdateien verfügbar ist, installieren Sie das Feature mit dem folgenden Befehl aus dem Liberty-Repository:
    bin\installUtility install httpWhiteboard-1.0
Während des Installationsprozesses werden die folgenden Nachrichten angezeigt.
Schritt 1 von 3: httpWhiteboard-1.0 wird heruntergeladen...
Schritt 2 von 3: httpWhiteboard-1.0 wird installiert...
Schritt 3 von 3: Temporäre Dateien werden bereinigt...

Nach erfolgreicher Installation des Features kann das Feature verwendet werden.

Vorgehensweise

Nächste Schritte

Servlet-Service schreiben

Die HTTP-Whiteboard-Implementierung sucht einen bestimmten Typ registrierter OSGi-Services, z. B. javax.servlet.Servlet. Zur Verwendung des HTTP-Whiteboard-Features können Sie also jedes unterstützte OSGi-Komponentenmodell, wie z. B. Blueprint, verwenden, um den Service zu registrieren, und der Service wird automatisch ausgewählt.

Das folgende Blueprint-Beispiel zeigt die einfache Servletimplementierung com.my.MyWhiteboardServlet, die in der OSGi-Service-Registry unter der Schnittstelle javax.servlet.Servlet registriert wird. Sie wird auch unter der Standardeigenschaft des HTTP-Whiteboard-Service, org.http.whiteboard.servlet.pattern, registriert, die eine relative URL-Position für das Servlet angibt.
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
	<bean id="MyWhiteboardServletBean"
		class="com.my.MyWhiteboardServlet" />
	<service id="MyWhiteboardServletBeanService"
		ref="MyWhiteboardServletBean"
		interface="javax.servlet.Servlet" />
		<service-properties>
			<entry key="osgi.http.whiteboard.servlet.pattern"
				value="/mywhiteboardservlet" />
		</service-properties>
	</service>
</blueprint>
Zugriff auf das Servlet
Wenn Sie den Server starten oder das Feature einem aktiven Server hinzufügen, sehen Sie möglicherweise einige Nachrichten wie im folgenden Beispiel gezeigt:
[AUDIT   ] CWWKE0001I: Der Server defaultServer wurde gestartet.
[AUDIT   ] CWWKZ0058I: Drop-ins für Anwendungen werden überwacht.
[AUDIT   ] CWWKN2000A: Kontextstammverzeichnis für HTTP-Whiteboard hinzugefügt: /osgi/http
[AUDIT   ] CWWKN2000A: Kontextstammverzeichnis für HTTP-Whiteboard hinzugefügt: /osgi/http/shared
[AUDIT   ] CWWKT0016I: Webanwendung verfügbar (default_host): http://localhost:9080/osgi/http/
[AUDIT   ] CWWKN2000A: Kontextstammverzeichnis für HTTP-Whiteboard hinzugefügt: /osgi/http/MyHttpWhiteboardApp
[AUDIT   ] CWWKZ0001I: Anwendung MyHttpWhiteboardApp innerhalb von 0,424 Sekunden gestartet.
In diesem Beispiel gibt es drei Nachrichten über hinzugefügte HTTP-Whiteboard-Kontextstammverzeichnisse. Die letzte Nachricht zeigt an, wo das Kontextstammverzeichnis für die Anwendung "MyHttpWhiteboardApp" hinzugefügt wurde. Die Anwendung enthält auch das im vorherigen Blueprint-Beispiel definierte Servlet. Sie können auf ein Servlet zugreifen, indem Sie die URL der Webanwendung, die mit /osgi/http/ endet, und die relative URL für das Whiteboard-Kontextstammverzeichnis kombinieren (die sich überschneidenden /osgi/http/-Verzeichnisse zusammenführen) und dann die in osgi.http.whiteboard.servlet.pattern angegebene Position des Servlets anfügen. Die Zusammenführung der Webanwendungs-URL (http://localhost:9080/osgi/http/) und des Whiteboardkontextstammverzeichnisses (/osgi/http/MyHttpWhiteboardApp) für die Anwendung ergibt Folgendes:
http://localhost:9080/osgi/http/MyHttpWhiteboardApp
Das Hinzufügen des Werts osgi.http.whiteboard.servlet.pattern ergibt die folgende URL:
http://localhost:9080/osgi/http/MyHttpWhiteboardApp/mywhiteboardservlet
Kombination mit anderen Funktionen

Die HTTP-Whiteboard-Spezifikation basiert auf den OSGi-Services. Das bedeutet, dass das Feature mit anderen nativen OSGi-Services und Komponentenmodellen integriert werden kann. Blueprint kann beispielsweise verwendet werden, um dynamisch andere Services einzufügen. Mithilfe der Blueprint-Namespace-Handler und der Konfigurationsverwaltung können Konfigurationswerte dynamisch in das Servlet eingefügt werden, wodurch die Anwendungskonfiguration bei Bedarf geändert werden kann.


Symbol das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 01.12.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_osgi_httpwhiteboard
Dateiname: twlp_osgi_httpwhiteboard.html