Java Reference
In-Depth Information
Baum der
System-ClassLoader
ClassLoader
der CounterService-
Komponente
ClassLoader
der CounterClient-
Komponente
Bild 6.4 Anordnung der ClassLoader-
Objekte ohne „Uses: -Angabe
Wenn also in der CounterClient-Komponente auf die Klasse Counter der CounterService-
Komponente zugegriff en werden soll, dann muss diese Klasse von den entsprechenden
ClassLoadern bereits geladen sein oder geladen werden. Als Erstes wird der ClassLoader
der Komponente CounterClient kontaktiert. Dieser delegiert den Au rag an seinen Vorgän-
ger im Baum, womit der Au rag dann bis zur Wurzel läu . Keiner der ClassLoader in dieser
Kette kann aber die Klasse Counter laden, da sie in keinem der Klassenpfade dieser Class-
Loader vorkommt. Folglich scheitert der Zugriff auf die Klasse Counter und es wird die
bekannte Ausnahme ClassNotFoundException geworfen. Wie schon beschrieben bringt es
auch nichts, wenn die CounterClient-Komponente die Counter-Klasse selbst mitbringt
(ClassCastException).
Wenn aber andererseits der „Uses:“-Eintrag in der Manifest-Datei der CounterClient-Kom-
ponente vorhanden ist und auf die CounterService-Komponente verweist, ergibt sich die
Anordnung von ClassLoader-Objekten wie in Bild 6.5.
Baum der
System-ClassLoader
ClassLoader
der CounterService-
Komponente
ClassLoader
der CounterClient-
Komponente
Bild 6.5 Anordnung der ClassLoader-Objekte mit
„Uses: -Angabe
 
Search WWH ::




Custom Search