Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.3.4. Definieren eines Feature für die Applikation
3.4.1. Warum brauchen Sie ein Feature? Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
Ein OSGi-Bündel ist keine praktische Bereitstellungseinheit für die Verwendung mit dem Red Hat JBoss Fuse Container. Applikationen bestehen in der Regel aus mehreren OSGi-Bündeln und komplexe Applikationen können aus einer sehr großen Anzahl an Bündeln bestehen. Für das gleichzeitige Deployment oder Undeployment mehrerer OSGi-Bündel benötigen Sie in der Regel einen Bereitstellungsmechanismus, der dies unterstützt.
Apache Karaf Features wurden entworfen, um dieses Problem anzugehen. Ein Feature fasst mehrere OSGi-Bündel in eine einzelne Bereitstellungseinheit zusammen. Wenn als ein Feature definiert, können Sie simultan das Deployment und Undeployment einer ganzen Collection von Bündeln ausführen.
3.4.2. Was gehört in ein Feature Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
Ein Feature sollte mindestens die grundlegende Collection von OSGi-Bündeln enthalten, die den Kern Ihrer Applikation ausmachen. Außerdem könnten Sie einige der Abhängigkeiten Ihrer Applikationsbündel festlegen, für den Fall, dass diese nicht vorab im Container bereitgestellt werden.
Die Entscheidung darüber, was Ihr benutzerdefiniertes Feature enthalten soll, hängt auch davon ab, welche Bündel und Features vorab in Ihrem Container bereitgestellt sind. Die Verwendung eines standardisierten Containers wie Red Hat JBoss Fuse macht diese Entscheidung einfacher.
3.4.3. Bereitstellungsoptionen Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
Es gibt ein paar verschiedene Optionen für das Bereitstellen von Funktionen:
- Bereitstellung während des Betriebs—die einfachste Bereitstellungsoption; legen Sie einfach die XML-Features-Datei direkt im Hot-Deploy-Verzeichnis zur Bereitstellung während des Betriebs ab,
InstallDir/deploy
. - Hinzufügen einer Repository URL—Sie können dem Red Hat JBoss Fuse Container mitteilen, wo er die Features Repository Datei findet, indem Sie den
features:addUrl
Konsolenbefehl verwenden (siehe Hinzufügen der lokalen Repository URL zum Features-Dienst). Sie können das Feature dann zu jeder Zeit mit demfeatures:install
Konsolenbefehl installieren. - Durch ein Fuse Fabric Profil—Sie können die Managementkonsole für die Bereitstellung eines Feature in einem Fuse Fabric Profil verwenden.
Weitere Informationen zu den Optionen der Feature-Bereitstellung finden Sie unter Bereitstellen eines Feature.
3.4.4. Features und Fuse Fabric Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
Ein Feature ist eine besonders praktische Bereitstellungseinheit für die Verwendung mit Fuse Fabric. Ein Fuse Fabric Profil besteht in der Regel aus einer Liste von Features und einer Collection verwandter Konfigurationseinstellungen. Daher ermöglicht ein Fuse Fabric Profil die Bereitstellung einer komplett konfigurierten Applikation an einen beliebigen Container in einer einzelnen atomaren Operation.
3.4.5. Erstellen eines benutzerdefinierten Features Repository Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
Erstellen Sie ein Unterverzeichnis, das das Features-Repository enthalten soll. Unter dem
get-started
Projektverzeichnis erstellen Sie alle Verzeichnisse im folgenden Pfad:
get-started/features/src/main/resources/
get-started/features/src/main/resources/
Verwenden Sie unter dem
get-started/features/src/main/resources
Verzeichnis einen Texteditor, um die get-started.xml
Datei zu erstellen und fügen Sie die folgenden Inhalte hinzu:
Verwenden Sie unter dem
get-started/features/
Verzeichnis einen Texteditor, um die Maven POM-Datei pom.xml
zu erstellen und fügen Sie die folgenden Inhalte hinzu:
3.4.6. Installation des Features Repository Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
Sie müssen das Features Repository in Ihrem lokalen Maven Repository installieren, damit dieses vom Red Hat JBoss Fuse Container aufgefunden werden kann. Um das Features Repository zu installieren, öffnen Sie eine Befehlszeile, wechseln Sie in das
get-started/features
Verzeichnis und geben Sie den folgenden Befehl ein:
cd features mvn install
cd features
mvn install
3.4.7. Bereitstellen des benutzerdefinierten Feature Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
Um das
get-started-basic
Feature im Container bereitzustellen, führen Sie die folgenden Schritte durch:
- Sind die
cxf-basic
andcamel-basic
Bündel bereits im JBoss Fuse Container installiert, so müssen Sie diese zuerst deinstallieren. Finden Sie mit demlist
Befehl die Bündel-IDs für diecxf-basic
undcamel-basic
Bündel und deinstallieren Sie diese dann beide mittels Konsolenbefehluninstall BundleID
. - Ehe Sie von einem Features Repository auf Features zugreifen können, müssen Sie dem Container mitteilen, wo das Features Repository zu finden ist. Fügen Sie dem Container die URL des Features Repository mit dem folgenden Konsolenbefehl hinzu:
JBossFuse:karaf@root> features:addurl mvn:org.fusesource.example/get-started/1.0-SNAPSHOT/xml/features
JBossFuse:karaf@root> features:addurl mvn:org.fusesource.example/get-started/1.0-SNAPSHOT/xml/features
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Sie können prüfen, ob der Container von den neuen Features weiß, indem Sie den Konsolenbefehlfeatures:list
eingeben. Falls nötig, können Sie denfeatures:refreshurl
Konsolenbefehl eingeben, der den Container zum erneuten Lesen seiner Features Repositorys zwingt. - Um die
get-started-basic
Funktion zu installieren, geben Sie den folgenden Konsolenbefehl ein:JBossFuse:karaf@root> features:install get-started-basic
JBossFuse:karaf@root> features:install get-started-basic
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Nachdem Sie ein paar Sekunden auf den Start der Bündel gewartet haben, können Sie die Applikation wie in »Testen der Route mit dem WS-Client« beschrieben testen.
- Um die Funktion zu deinstallieren, geben Sie den folgenden Konsolenbefehl ein:
JBossFuse:karaf@root> features:uninstall get-started-basic
JBossFuse:karaf@root> features:uninstall get-started-basic
Copy to Clipboard Copied! Toggle word wrap Toggle overflow