Karaf 4.0.3Apache Karaf verfügen Voraussetzung
Ich habe folgende pseudo-Eigenschaft:
<features name="my-feature" xmlns="http://karaf.apache.org/xmlns/features/v1.3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.3.0 http://karaf.apache.org/xmlns/features/v1.3.0">
<feature name="C" version="${project.version}" start-level="25" install="auto">
<bundle start-level="25">...BundleC1...</bundle>
</feature>
<feature name="A" version="${project.version}" start-level="30" install="auto">
<feature prerequisite="true">C</feature>
<bundle start-level="30">...BundleA1...</bundle>
</feature>
<feature name="B" version="${project.version}" start-level="35" install="auto">
<feature prerequisite="true">C</feature>
<bundle start-level="35">...BundleB1...</bundle>
</feature>
C unabhängig ist
A auf C hängt
B auf C hängt
In diesem Beispiel importiert das Bundle 'BundleB1' die falsche Hauptversion von 'BundleC1' und wir erhalten die, fehlende ' Anforderung "Fehler (wie erwartet). Wenn ich mich jedoch bei der Karaf-Konsole anmelde und "feature: list" starte, sehe ich, dass C gestartet ist, A deinstalliert ist und B deinstalliert ist.
Ich erwarte, dass A, da es nur Abhängigkeiten gestartet werden, um C. Eine feine startet hat, wenn ich die gesamte C-Funktion Kommentar oder wenn ich feature:install A
danach laufen Wenn ich jede dieser drei Funktionen in separaten setzen feature.xml files Ich bekomme das erwartete Ergebnis von C + A als Started und B als Uninstalled.
Was mache ich falsch?
Bin ich falsch verstanden, wie das vorausgesetzte Attribut funktioniert? Wenn ich das vorausgesetzte Attribut alle zusammen überspringe, dann wird kein Feature installiert. Whatsover ...
Ok, also den einzigen Weg, C + A erhalten installiert/Begonnen und B werden zu deinstallierende/fehlgeschlagen ist jede Unter Funktion in separate Funktion zu extrahieren .xml-Dateien? Auf diese Weise werden sie in ihrem eigenen Kontext/Prozess installiert? – stromvap
Es hängt davon ab, wie Sie Ihre Funktionen installieren. Wenn Sie den Ordner deploy verwenden, dann müssen Sie diese in verschiedene Dateien aufteilen. Wenn Sie die Datei 'org.apache.karaf.features.cfg' verwenden, können Sie angeben, welches Feature installiert werden soll, und Gruppen mit Klammern erstellen , wie: (C), (A), (B) –
Könntest du bitte erläutern, wie man 'org.apache.karaf.features.cfg' und "groups" benutzt oder mich in die Richtung einer Dokumentation zeige? Ich finde die Karaf-Dokumentation ziemlich mangelhaft und es ist schwierig, relevante Beispiele zu finden. – stromvap