OSGI Service - ServiceReference

lumo

Top Contributor
hallo leute!

habe folgendes problem.
ich hab mir ein service definiert und dieses wird auch gestartet
laut osgi console:
Code:
40	ACTIVE      tt.at.lumo.service.implementation_1.0.0.qualifier
42	RESOLVED    tt.at.lumo_1.0.0.qualifier
45	ACTIVE      tt.at.lumo.testview_1.0.0.qualifier
46	ACTIVE      tt.at.lumo.service_1.0.0.qualifier

nun versuche ich aus dem testview heraus auf das service zuzugreifen:
Code:
			Bundle b = FrameworkUtil.getBundle(getClass());
			BundleContext context = b.getBundleContext();
			ServiceReference ref = context.getServiceReference(SiteService.class.getName());
			SiteService service = (SiteService) context.getService(ref);
und bekomme folgende fehlermeldung:
Code:
A null service reference is not allowed.

weiss einer woran das liegen kann?
hab noch einen anderen workspace, in dem ichs gleich gemacht hab und dort klappts (ich muss wohl irgendetwas übersehen... nur was ???:L)
 
Das was du oben zeigst sind doch die Bundles, nicht die Plugins. Die Services siehst du auf der Konsole mit "services", und nicht "ss".

Wie registrierst du deinen Service, von Hand der deklarativ?
 
ich hab eine xml datei angelegt im ordner OSGI-INF
[XML]<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" enabled="true" immediate="false" name="tt.at.lumo.service.SiteService">
<implementation class="tt.at.lumo.service.implementation.SiteServiceImpl"/>
<service>
<provide interface="tt.at.lumo.service.SiteService"/>
</service>
</scr:component>
[/XML]

PS: späte antwort wegen wochenende 😉
 
manno fehler gefunden!

mein MANIFEST.MF und meine xml-Dateiname stimmten nicht zusammen...

Service-Component: OSGI-INF/dataService.xml
OSGI-INF/SiteService.xml
 

Zurück
Oben