Buduję niektóre moduły, które chcę eksponować jako pakiety OSGi bez rzeczywistych zależności od bibliotek OSGi. Wydaje się, że jest to możliwe przy użyciu opcji usług deklaratywnych.Używanie osadzonego kontenera OSGi
Ponieważ jestem raczej nowym użytkownikiem OSGi (przynajmniej po stronie tworzenia pakietu) chcę przetestować, czy wszystko działa tak, jak powinno, w tym celu chcę skonfigurować małe osadzone środowisko OSGi.
Obecnie mam pojedynczy pakiet, który eksportuje interfejs API, a także zapewnia implementację kodu pośredniczącego pojedynczego interfejsu.
Śledzę następujące tutoriale do skonfigurowania środowiska:
- http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.html
- How to start and use Apache Felix from code?
I wbudowany realizacja Felix wydaje się działać poprawnie jednak istnieją dwa problemy:
Bundle bundle = felix.getBundleContext().installBundle("/path/to/bundle.jar")
bundle.start();
System.out.println(bundle.getRegisteredServices());
To wypisuje null
, więc gdy pakiet pozornie zaczyna działać poprawnie, nie wydaje się, aby ujawniał jakiekolwiek usługi.
Po drugie, zastanawiam się, czy muszę zrobić coś wyjątkowego, aby usługi deklarujące się spełniły. Moi Maven zależności są:
<dependencies>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.framework</artifactId>
<version>4.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr</artifactId>
<version>1.6.2</version>
</dependency>
</dependencies>
podstawie wątku email znaleźć tutaj: http://mail-archives.apache.org/mod_mbox/felix-users/201111.mbox/%[email protected]%3E
Próbowałem dodać paczkę do właściwości startowych felix:
map.put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA, "org.apache.felix.scr; version=1.6.2");
Jednak to wydaje się nieco optymistyczne na pierwszy rzut oka. Jak włączyć usługi deklaratywne dla wbudowanego silnika felix?
Witam @nablex. Mam podobne pytanie [** TUTAJ: ** Plugin Assembly Apache Maven nie działa z pakietami OSGi] (http://stackoverflow.com/questions/34886012/apache-maven-assembly-plugin-not-working-with-osgi -bundles) i miał nadzieję, że możesz rzucić okiem i zobaczyć, czy możesz pomóc. Naprawdę utknąłem i bardzo doceniam każdą pomoc, jaką możesz zaoferować. Z góry dziękuję. –