2013-05-17 9 views
6

Ich habe eine Eclipse-RCP-Anwendung, die Gemini Blueprint verwendet. Es hat zwei Funktionen und damit ein Feature-basiertes Produkt. Einige unserer Bundles hängen vom Dienst ab, der vom Blueprint-Extender erstellt wurde. Aber der Blueprint Extender wird nur beim Start gelöst und nicht aktiviert. Heute arbeiten wir daran, indem wir Code in Bündelaktivatoren ausführen, der prüft, ob das org.eclipse.gemini.blueprint.extender Bundle gestartet wurde und wenn nicht, wird es gestartet.Wie authart org.eclipse.gemini.blueprint.extender in einer Feature-basierten Eclipse-RCP-Anwendung?

Das Hinzufügen des Bündels zum .product mit einem Startlevel von 3 und autoStart=true hat keine Auswirkung. Ich denke, das liegt daran, dass unser Produkt Feature-basiert ist. Ist das richtig? Was ist der beste Weg, den Extender automatisch zu starten?

Antwort

2

Sie müssen die Datei configuration/config.ini bearbeiten und das gewünschte Bundle zur Eigenschaft osgi.bundles hinzufügen. Zum Beispiel:

osgi.bundles=<existing entries>, [email protected]:start

+0

Im Prinzip funktioniert das (es beginnt das Extender Bündel). Aber es führt zu einem seltsamen Verhalten, wenn andere Bündel aktiviert werden. Die Aktivierung kann nicht abgeschlossen werden, da einige 'ClassDefNotFound'-Ausnahmen auftreten. Ich denke, ich muss tiefer in das Thema eintauchen. – gregor

0

Haben Sie versucht, den Startpegel auf 0 zu setzen und automatisch auf true zu setzen? Es gibt einen Vorschlag in this link.May kann es Ihnen helfen.