Frage

Ist es möglich, Eclipse-Plugins zu erstellen, die automatisch entdecken sie?

ich eine Reihe von Plugins bin zu entwickeln, die in zwei Hauptsituationen arbeiten müssen:

  • einzeln
  • gemeinsam miteinander.

Wenn einzeln ausführen, sollten die Plugins „einfach funktionieren“, aber wenn im Konzert, werden sie einige der gleichen Modellinhalte teilen, und eines des Plugins sollte den Benutzer eine Liste von anderen Plugins präsentieren Inhalte zu teilen. zB:

  

Foo Plugin erkannt folgenden   Plugins können Ontologien teilen mit:

     

[] Bar-Plugin

     

[] Baz Plugin

     

[] Nicht teilen

Bietet Eclipse-alle internen Publikation / Nachweismethoden, die diese Art von Auto-Erkennung anderer Plugins erleichtern würde?

War es hilfreich?

Lösung

sollte die Antwort sein, durch deklarative-Service , die kombiniert die Vorteile beider eclipse xML-Erweiterungen und osgi POJO Dienste. Etwas, das implizit dynamisch wie OSGi-Service, aber loaded „on demand“ wie Eclipse-Erweiterungen.

Eingeführt im Jahr 2006 für eclipse3.3, werden Sie diese Konzepte illustriert in diese Präsentation .

  

deklarative Service bieten die Option Verweis auf andere Dienste zu definieren. Es ist auch möglich, die Mächtigkeit der Referenz angeben. Die Kardinalität angegeben wird unter Verwendung von zwei Zahlen, wobei die ersten, 0 oder 1 ist, gibt die optionality, die zweiten, 1 oder N ist, gibt die Vielheit.

In der Praxis diejenigen DS (deklarative Services) nicht einfach zu bedienen sind, wie Sie den Zugriff auf Bundlecontext müssen, was bedeutet, die Verfolgung der Bundle das ist nicht immer einfach ...

Wenn das, was Sie brauchen, ist eine Art von Service Oriented Component Model, Einführung deklarative Dienstleistungen

  • Erste Schritte mit OSGi gestartet: deklarative Dienstleistungen und Neben
  • Andere Tipps

    Nun kann der OSGi Service Registry die gemeinsame Nutzung von pojo basierten Diensten zur Laufzeit erreichen, nicht die Plugins selbst. Es gibt mehrere Möglichkeiten, dies zu erleichtern, wie Codierung direkt an die OSGi API, deklarative Services Frühling DM und iPojo (Ich bin sicher, es gibt auch andere).

    Sie können das Whiteboard-Muster als Mittel zu prüfen, von einer dynamischen Observer / Observable Stil Lösung erreicht wird.

    Lizenziert unter: CC-BY-SA mit Zuschreibung
    Nicht verbunden mit StackOverflow
    scroll top