Featureverwaltung

Features sind Funktionseinheiten, mit deren Hilfe Sie steuern können, welche Teile der Laufzeitumgebung in einen bestimmten Server geladen werden.

Verwenden Sie die Konfigurationsdatei server.xml, um die zu ladenden Features zu deklarieren. Die Gruppe der Features wird in das Element <featureManager> und jedes einzelne Feature in das untergeordnete Element <feature> eingeschlossen. Beispiel:
<server>
  <featureManager>
    <feature>servlet-3.0</feature>
    <feature>localConnector-1.0</feature>
  </featureManager>
</server>

Sie können alle Features in der Serverkonfigurationsdatei angeben. Einige Features enthalten weitere Features. Dasselbe Feature kann in einem oder mehreren anderen Features enthalten sein. Zur Laufzeit ermittelt der Feature-Manager die kombinierte Liste der Inhalte, die zur Unterstützung der angeforderten Gruppe von Features benötigt werden.

Informationen zu den verfügbaren Hauptfeatures finden Sie im Artikel Liberty-Features. Informationen zu den Einschränkungen, die für die einzelnen Features gelten, finden Sie im Artikel Bekannte Probleme und Einschränkungen für die Laufzeitumgebung.

Dynamische Änderungen der Featurekonfiguration

Wenn Sie die Featurekonfiguration ändern, ermittelt der Feature-Manager die Liste erforderlicher Bundles erneut, stoppt und deinstalliert die Bundles, die nicht mehr benötigt werden, und installiert und startet alle neu hinzugefügten Bundles. Alle Features sind deshalb so konzipiert, dass sie mit anderen Features funktionieren, die dynamisch hinzugefügt oder entfernt werden.

[8.5.5.4 oder höher]

Singleton-Features

Mit der Bereitstellung der ersten Featuregruppe für Java™ EE 7 gibt es jetzt zwei Versionen desselben Features:
  • servlet-3.0
  • servlet-3.1
Im Gegensatz zu anderen Anwendungsservern können Sie auswählen, welche Version dieses Features in einer Serverkonfiguration verwendet werden soll. servlet-3.0 behält das Verhalten für vorhandene Anwendungen bei, während servlet-3.1 neue Funktionalität für neue oder geänderte Anwendungen bereitstellt. Es gibt zwar eine Auswahl an Spezifikationsversionen, es werden jedoch keine zusätzlichen Konfigurationseigenschaften benötigt oder bereitgestellt, um einzelne Unterschiede zwischen den zwei Versionen zu steuern.
Das Servlet-Feature ist ein Singleton-Feature, d. h., dass Sie nur eine Version für die Verwendung in einem Server konfigurieren können: servlet-3.0 oder servlet-3.1. Wenn Sie Anwendungen haben, die verschiedene Versionen des Servlet-Features benötigen, müssen Sie sie in verschiedenen Servern implementieren. Viele andere Features beinhalten das Servlet-Feature als Abhängigkeit. Im Produkt WebSphere Liberty wurden diese Features aktualisiert, so dass sie jetzt mit beiden Versionen funktionieren. Damit wird sichergestellt, dass Sie einen vollständigen Feature-"Stack" konfigurieren können, wenn Sie servlet-3.1 verwenden. Beachten Sie jedoch, dass Features aus anderen Quellen möglicherweise nicht dahingehend aktualisiert wurden, dass sie servlet-3.1 "tolerieren". Wenn Sie möchten, dass Features servlet-3.1 "tolerieren", müssen Sie das Feature-Manifest wie folgt ändern:
Subsystem-Content: com.ibm.websphere.appserver.servlet-3.0; ibm.tolerates:="3.1"; type="osgi.subsystem.feature"
Wenn Ihre Serverkonfiguration mehrere Versionen eines Singleton-Features umfasst, entweder durch eine direkte Konfiguration in der Datei server.xml oder durch Featureabhängigkeiten, ist diese Konfiguration fehlerhaft und keine Version dieses Features wird geladen. Dieser Fehler führt zu einer Nachricht wie der folgenden:
[ERROR ] CWWKF0033E: Die Singleton-Features servlet-3.1 und servlet-3.0
können nicht gleichzeitig geladen werden. Die konfigurierten Features servlet-3.1 und servlet-3.0 enthalten mindestens ein Feature, das den Konflikt verursacht. 
Um dieses Problem zu lösen, müssen Sie sicherstellen, dass die konfigurierten Features alle dieselbe Version dieses Singleton-Features angeben oder tolerieren. Wenn Sie feste Anforderungen für beide Feature-Versionen haben, müssen Sie einige Ihrer Anwendungen auf einen anderen Server verschieben.

Ersetzte Features

Die Kennzeichnung superseded für ein Feature zeigt an, dass ein neues Feature oder eine Kombination von Features im Vergleich mit dem ersetzten Feature Vorteile bieten kann. Sie können beispielsweise neue differenziertere Features anstelle des abgelösten Features verwenden, um die Ressourcennutzung des Servers durch den Ausschluss von Inhalten, die möglicherweise nicht erforderlich sind, zu verringern. Das neue Feature bzw. die neuen Features können die Funktionalität des abgelösten Features möglicherweise nicht vollständig ersetzen. Deshalb müssen Sie Ihr Szenario überdenken, bevor Sie sich für die Änderung Ihrer Konfiguration entscheiden. Ersetzte Features werden weiterhin vollständig unterstützt und können weiterhin in der Konfiguration verwendet werden. Die Kennzeichnung superseded ist lediglich ein Hinweis darauf, dass Sie Ihre Konfiguration verbessern können.

Gelegentlich wird ein Feature, das andere Features einschließt, durch eine neue Version des Features ersetzt, die nicht alle diese Features enthält. Die Features, die nicht in der neuen Version enthalten sind, gelten als eigenständig. Wenn Ihre Anwendung die Funktionen eines eigenständigen Features verwenden muss, müssen Sie das eigenständige Feature explizit Ihrer Konfiguration hinzufügen.

featureA und featureB haben beispielsweise die folgenden Bedingungen:
  • featureA-1.0 beinhaltet featureB-1.0
  • featureA-2.0 beinhaltet nicht featureB-1.0 (oder spätere Versionen von featureB)
Wenn Ihre Anwendung Funktionen von featureB verwendet, funktionieren die folgenden Konfigurationen beide:
  • featureA-1.0 in die Datei "server.xml" einschließen
  • featureA-2.0 und featureB-1.0 in die Datei "server.xml" einschließen

Symbol das den Typ des Artikels anzeigt. Konzeptartikel

Nutzungsbedingungen für Information Center | Feedback


Symbol für Zeitmarke Letzte Aktualisierung: 25.08.2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=cwlp_feat_mgmt
Dateiname: cwlp_feat_mgmt.html