Ich habe ein sorgfältig erstelltes Bündel "A", das einige Methoden enthält (als Dienste registriert). Und jetzt möchte ich ein weiteres Bündel "B" erstellen, das Methoden von "A" verwendet. Wie ich es verstehe, sollte ich getServiceReference()
aus der Klasse, die diese Methoden in "B" Aktivator enthält. Aber wie bekomme ich Zugang zu diesen Klassen? Soll ich ein Projekt mit "A" als Bibliothek importieren oder eine .jar
Datei in das "B" Projekt importieren? Ich lese "OSGI in Aktion", konnte dort aber keine klare Antwort finden. Können Sie einen Artikel beantworten oder beraten, der Ihnen helfen wird, eine Antwort zu finden?
P.S. Ich benutze Inteleji IDEA IDE.Wie macht man ein OSGi-Bündel, das Methoden aus einem anderen Bündel verwendet?
0
A
Antwort
0
Das Paket A sollte das Paket, in dem sich die Klasse A befindet, exportieren, indem ein Feld "Export-Paket" zum Manifest hinzugefügt wird.
Das Paket B sollte das Paket, in dem sich die Klasse A befindet, importieren, indem ein Feld "Import-Paket" zum Manifest hinzugefügt wird.
Das Bündel A sollte A als Dienst registrieren.
Das Bündel B sollte den Dienst von A erhalten, und dann Methoden der Klasse A aufrufen können.
Je nachdem, welche Tools Sie für die Kompilierung verwenden (Gradle/Maven, Bund-Tools, ...), können Pakete exportiert und importiert werden.
Je nachdem, welche Tools Sie zur Laufzeit verwenden (Blueprint, iPOJO, ds, ...), können Services für die Registrierung und das Injizieren "automatisiert" werden.
Verwandte Themen
- 1. Symfony Anruf ein Bündel in einem anderen Bündel
- 2. Wie Übersetzungen aus einem anderen Bündel geladen werden
- 3. Wie man Enumerable Methoden verwendet
- 4. Wie man ein Bündel serialisiert?
- 5. Symfony FosUserBundle erweitern von meiner Standardvorlage aus einem anderen Bündel
- 6. Wie man ein Bündel in Symfony umbenennt?
- 7. Wie verwendet man PHPUnit-Assert-Methoden in einem Codeception-Funktionstest?
- 8. Wie man plistinformation (Bündel-ID) von einem Shell-Skript liest
- 9. Karaf wie man spezifizierte Bündel aus dem Protokoll ausschließt
- 10. Wie man die Methoden einer Kindklasse statisch macht?
- 11. Wie man eine Klasse Singleton aus der anderen Klasse macht?
- 12. Wie verwendet man String-Methoden für Textdateien?
- 13. Wie lange dauert ein Bündel?
- 14. Wie macht man ein SWF-Ergebnis von einem PHP lesen?
- 15. Wie kann man verhindern, dass ein Thread ein Array ändert, das von einem anderen Thread verwendet wird?
- 16. ein Bündel Handlers
- 17. Wie man ein Tensorflow-Modell verwendet, das aus einem trainierten Keras-Modell extrahiert wurde
- 18. Wie man eingebaute Methoden in Golang verwendet?
- 19. Wie macht man ein System.Drawing.Image halbtransparent?
- 20. Wie macht man ein Linux Kernel Modul von einem anderen externen Modul mit depmod abhängig?
- 21. Wie verwendet man get_operation_by_name() in Tensorflow, aus einem Graphen, der aus einer anderen Funktion aufgebaut ist?
- 22. FCKEditor - wie macht man ein einfaches Plugin?
- 23. Wie erstellt man ein Objekt aus zwei verschiedenen fs Methoden?
- 24. Wie man einen Stream aus einem DirectoryStream macht
- 25. Wie verwendet man OnAppWidgetOptionsChanged() in einem Widget?
- 26. Wie generiere ich Methoden aus einem Abstract generisch, das Generics verwendet?
- 27. Wie man ein responsives Bild macht?
- 28. wie man verwendet ENUM in einem anderen C# file
- 29. Wie verwendet man Daten aus einem Feld in einem anderen Feld in Solr?
- 30. Wie man ein ausführbares Shell-Skript macOS macht, das auf jedem Computer verwendet werden kann