Java Reference
In-Depth Information
Dienst der Service-Komponente nutzen möchte, kann sich in ihrer Start-Methode ebenfalls
über den ComponentContext-Parameter den Zugriff auf das entsprechende Objekt beschaf-
fen. Dazu muss sie allerdings den Namen kennen, unter dem das Objekt registriert wurde.
Unsere zweite Beispielkomponente ist eine solche Service-Komponente. Sie besteht aus den
Klassen Counter und CounterService. Die Klasse Counter (s. Listing 6.3) ist sehr einfach
und braucht keine weiteren Erläuterungen (bis auf synchronized, worauf später eingegan-
gen wird).
Listing 6.3 Klasse Counter
package javacomp.prototype.application2;
public class Counter
{
private int counter;
public Counter()
{
}
public Counter(int initialValue)
{
counter = initialValue;
}
public synchronized int increment()
{
counter++;
return counter;
}
}
Die Klasse CounterService (s. Listing 6.4) ist die Einstiegsklasse (sie muss in der Manifest-
Datei MANIFEST.MF in der „Main:“-Zeile angegeben werden). Von der Klasse Counter werden
in der Start-Methode der Klasse CounterService zwei Objekte erzeugt und bei der Registra-
tur des Frameworks angemeldet. In der Stop-Methode werden diese Objekte wieder abge-
meldet.
Listing 6.4 Klasse CounterService
package javacomp.prototype.application2;
import javacomp.prototype.framework.ComponentContext;
import javacomp.prototype.framework.Start;
import javacomp.prototype.framework.Stop;
public class CounterService
{
@Start
public void start(ComponentContext ctx)
{
System.out.println("CounterService.start");
Counter c1 = new Counter();
ctx.bind("Counter1", c1);
Counter c2 = new Counter(100);
 
Search WWH ::




Custom Search