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

Dateiname: twlp_osgi_httpwhiteboard.html