Java Reference
In-Depth Information
{
thread.join();
}
catch(InterruptedException e)
{
}
thread = null;
}
}
}
}
class CounterThread extends Thread
{
//unverändert wie bisher
...
}
Erklärungsbedür ig ist unter Umstä nden der Parameter vom Typ boolean der privaten
Methode stopClient. Wenn er true ist, wird ein laufender Thread in jedem Fall angehalten.
Dies ist der Fall, falls die Komponente selbst angehalten wird. Wenn der Parameter false ist,
dann soll der Thread nur dann angehalten werden, falls der Dienst nicht mehr verfügbar ist.
Man sollte sich in diesem Zusammenhang klar machen, dass die Methode serviceChanged
auch aufgerufen wird, wenn andere Dienste als der CounterService-Dienst an- und abgemel-
det werden. Bei einem Abmeldeereignis weiß man also noch nicht sicher, welcher Dienst
verschwunden ist. Deshalb wird nochmals geprü , ob der CounterService-Dienst noch in
der Registratur eingetragen ist oder nicht. Als Alternative zur Implementierung der Schnitt-
stelle ServiceListener kann die Klasse ServiceTracker eingesetzt werden. Diesem Hinweis
können Sie bei Interesse selbst nachgehen.
Mit den beschriebenen Änderungen sind die eingangs genannten Nutzungsformen mög-
lich. Wenn die Komponente, die die Schnittstelle Counter enthält, installiert ist, dann kön-
nen die Client- und Service-Komponenten in beliebiger Reihenfolge installiert, gestartet,
angehalten und deinstalliert werden. Auch ist Hot Deployment möglich, wie folgendes Nut-
zungsprotokoll zeigt:
g! start 328
CounterServiceActivator.start
g! version 1 (1)
version 1 (2)
version 1 (3)
version 1 (4)
version 1 (5)
update 328version 1 (6)
CounterServiceActivator.stop
CounterServiceActivator.start
g! version 2 (2)
version 2 (4)
version 2 (6)
version 2 (8)
stop version 2 (10)
328
CounterServiceActivator.stop
g!
 
Search WWH ::




Custom Search