Java Reference
In-Depth Information
Schnittstelle Counter angegeben hat und der Typ Counter aufgrund der Generics-Regeln
damit der Rückgabetyp dieses Aufrufs von getService ist. Über das ServiceReference-Objekt
kann man sich auch Zugriff auf die Liste von Name-Wert-Paaren beschaff en, die als drittes
Argument beim Aufruf von registerService angegeben werden kann (s. Abschnitt 9.2). Das
ServiceReference-Objekt kann auch als Parameter in der Methode ungetService benutzt
werden, um dem Framework mitzuteilen, dass ein mit getService bescha es Dienstobjekt
nicht länger benutzt wird. Davon wird in der Stop-Methode der Klasse CounterClientActiva-
tor Gebrauch gemacht. Damit dies möglich ist, wird das in der Start-Methode bescha e
ServiceReference-Objekt als Attribut gespeichert. Die Thread-Klasse sollte ohne weiteren
Erklärungen verständlich sein.
Die folgende Manifest-Datei wird für die zweite Komponente benutzt:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: CounterClient
Bundle-SymbolicName: CounterClient
Bundle-Version: 1.0.0
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: Rainer Oechsle
Bundle-Activator: javacomp.osgi.bundle2.CounterClientActivator
Import-Package: org.osgi.framework, javacomp.osgi.bundle1
Die zweite Komponente stellt keine Packages für andere Komponenten bereit. Deshalb sucht
man nach einer Export-Package-Zeile vergebens. Allerdings werden zwei Packages impor-
tiert: wieder das Package org.osgi.framework des OSGi-Frameworks sowie das von der ers-
ten Komponente exportierte Package.
Die folgenden Zeilen geben den Ablauf wieder, in dem die zweite Komponente ausprobiert
wurde:
g! install file:/Users/oechsle/Desktop/felix/bundle2.zip
Bundle ID: 281
g! start 281
CounterClientActivator.start
g! version 1 (1)
version 1 (2)
version 1 (3)
version 1 (4)
stversion 1 (5)
oversion 1 (6)
p version 1 (7)
2version 1 (8)
81version 1 (9)
CounterClientActivator.stop
with ungetService
g! lb
START LEVEL 1
ID|State |Level|Name
0|Active | 0|System Bundle (4.0.2)
...
280|Active | 1|CounterService (1.0.0)
281|Resolved | 1|CounterClient (1.0.0)
g!
 
Search WWH ::




Custom Search